File format overview

A .kn5 file contains 3 main sections
  • Textures
  • Materials
  • Nodes


Textures are simple file blobs with a name.


Materials are defined by multiple properties like what shader to use ("system\shaders") and properties for the selected shader.
They also contain a list of texture names as input for the shader.


Nodes define most of the game objects. There are three main node types:
  • Base node: Only has a name and a transform matrix
  • Mesh node: Defines a mesh with vertices, indices, a single material and some other drawing optimization values
  • Skinned mesh node: Mostly like a normal mesh but also contains bone definitions.
Base nodes are sometimes only containers and sometimes game relevant locations.
A .kn5 file has at least a root node that contains every other node. Every node has a list of children, but only base nodes are allowed to have them.
Base nodes with special names like "AC_START_0" define the location and orientation for certain game objects. This one would place the start location for car 1.