
Every circuityou own.Now in BeamNG.
rebuilds Assetto Corsa tracks as complete BeamNG.drive levels.
Geometry, materials, surfaces, collision and AI lines.
Compare
Same corner. Both sims.
Spa-Francorchamps from the same camera. Assetto Corsa on the left, the level wrote on the right. Drag to compare.


The pipeline
Eight parts. One level.
Geometry, materials, textures, lights, surfaces, collision, a quick race, and spawns.
.kn5 → .dae
Part 1
Geometry
Reads every KN5 the layout loads, including the ones Custom Shaders Patch adds, and places each where models.ini puts it. Meshes are written as Collada, turned into BeamNG's Z-up world and split before a shape gets too big to load.
.kn5 → .dae
Part 2
Materials
Rebuilds each track shader as a BeamNG PBR material, binding diffuse, normal, detail and roughness maps and reproducing AC's multilayer blends within BeamNG's four stages. Lamp materials keep their glow, and blended decals like the racing groove don't cast a hard shadow.
shaders → materials.json
Part 3
Textures
Pulls every texture out of the KN5s, decodes the DDS, block-compressed formats included, and writes them back as sRGB DDS BeamNG reads. Normal maps are flipped to BeamNG's convention, roughness is baked from the shader settings, and alpha cutouts and multilayer grain get their own generated maps.
.dds → .color.dds
Part 4
Lights
When Custom Shaders Patch has a lighting config for the track, every LIGHT_SERIES becomes real BeamNG lights: the lamp meshes are found, clustered and given a spot or point light with the config's colour, aim and reach. Set the clock to night and the circuit lights up.
LIGHT_SERIES → lights
Part 5
Surfaces
Reads surfaces.ini and maps each surface key to a stock BeamNG ground model: asphalt, kerb, grass, sand, gravel or metal. Run wide and the grass and gravel slow you down, the way the track intends.
surfaces.ini → groundModels
Part 6
Collision
Builds a separate, invisible collision mesh from the same meshes Assetto treats as physical, so walls, kerbs and run-off collide the way they do in AC. Each piece carries its ground type, and the visible shapes stay collision-free so the level loads light.
surfaces → collision.dae
Part 7
Quick race
Turns the AI line into a BeamNG race: checkpoints at the track's sector gates, centred on the asphalt and sized to the road, with standing, rolling and reverse starts from the real grid. The same course is written as a freeroam time trial, so it shows up in the mission list.
fast_lane.ai → quickrace
Part 8
Layouts and spawns
Pick a layout in the picker and it becomes its own BeamNG level, with the track's name, description and preview carried into the menu. Hotlap, starting line and pit spawns are read from the track and dropped onto the road, so you land on the tarmac.
layouts → levels
Changelog
Lap by lap.
Every release, in order. Download previous releases here.
First public release.
- NewTrack picker that finds your Assetto Corsa install and lists every track and layout. Pick one or many.
- NewBrowse to the game folder, or select a single track zip, when the install isn't in a Steam library. A zip skips the track list.
- NewEach conversion lands as an unpacked mod in your BeamNG mods folder, replacing any earlier copy.
- NewLevel geometry from the KN5s, including CSP-inserted models, as Collada shapes.
- NewPBR materials from the track shaders, with multilayer, detail, normal and roughness maps and alpha cutouts.
- NewDDS textures decoded and re-encoded for BeamNG, block-compressed formats included.
- NewCSP night lights as BeamNG spot and point lights.
- NewGround models from surfaces.ini: asphalt, kerb, grass, sand, gravel and metal.
- NewA separate collision mesh built from the meshes Assetto treats as physical.
- NewHotlap, starting line and pit spawns, dropped onto the road surface.
- NewQuick race and freeroam time trial from fast_lane.ai, with standing, rolling and reverse starts.
- NewLevel name, description and preview image carried over from the track's menu entry.