Assetto Corsa Blender Track Exporter - Update Preview 0.7.0 - What's coming! (Patreon)
Content
Hey everyone!
This might be the longest post on Patreon - ever :D - sorry ahead of time...This is the biggest update to the FTE project since it started.
And in preparation for the release of the update, I wanted to make a post showcasing some of the biggest features and improvements that have been made.
During development, I realized that there are certain features of Assetto Corsa and CSP that simply cannot be represented properly inside Blender. You can approximate them, expose their settings and try to preview them—but the only place you can see the real result is inside the game.
...looking at you, GrassFX...That realization shaped the entire 0.7.0 update.
The toolset is now split into two focused parts:
Fluffy's Track Exporter for Blender handles track construction, materials, surfaces, race objects, layouts, validation and KN5 export.
Fluffy's Track Editor for Assetto Corsa handles the CSP features that benefit from immediate, in-game feedback.
The 0.6.5 sidebar had grown into a very large toolbox. Alongside core track-focused tools, it contained dedicated panels for GrassFX, RainFX, WaterFX, emissive materials, cameras, AI lines, CSP Audio, TreeFX, global CSP extensions and more.
That made the addon powerful, but it also mixed together two very different jobs:
Building and exporting the track.
Tuning effects that can only be judged correctly inside Assetto Corsa.
So the main task was to solve this problem without hurting functionality!
The short version of the update notes
Version 0.7.0 brings:
Compatibility with Blender's latest releases, including the Blender 5.x API changes used by the addon.
A reorganized and much less cluttered Blender addon.
A completely new in-game app called Fluffy's Track Editor.
Live editing of Shader Replacements, GrassFX, RainFX, WaterFX, CSP lights, emissive materials and particle effects.
In-game TV camera editing with a visual coverage overlay.
A significantly faster and more robust KN5 export pipeline.
A proper export progress window, especially useful on large, texture-heavy tracks.
More accurate Assetto Corsa shader previews in Blender.
Safer extension-config handling with automatic backups, import/migration tools and preservation of various config sections.
Improved track importing, texture handling, mesh splitting, modifier processing and export validation.
Right now I'm polishing a few features and preparing the release videos and new tutorials to go alongside the release - aiming for this week so stay tuned!
FULL NOTES
A preview of what's coming in the next update of FTE - coming later this week!
Export Changes
New live progress window. During export, a small window now appears showing a progress bar, the current step ("Converting textures 12/40…, Writing node…), and elapsed time. Blender's interface freezes while exporting, so this window runs as a separate process to keep updating live.
Much faster texture conversion. Textures used to be converted one at a time; now up to 8 run in parallel. On texture-heavy tracks this is the single biggest export speedup.
Much faster mesh processing. The entire geometry pipeline was rewritten using bulk operations instead of per-vertex processing. Same output, dramatically less time and memory — you'll notice this most on large, detailed tracks.
Smaller files. Fully opaque textures are now compressed in a format half the size of before, with identical visual quality. Duplicate textures are detected and embedded only once.
Leaner Smart Export. Several redundant full-scene passes and file writes were removed, making the whole Smart Export workflow quicker.
"Export Selected Only" moved into the export dialog popup window
So I think it's safe to say the performance has improved substantially - I've tested it on a few tracks provided by you guys and the gains there are even bigger - A test with ScottMadeAThing - his track took 21 minutes to export in 0.6.5 where as in 0.7.0 it took 3 minutes to export.
A test on an official kunos track - Laguna Seca with about ~ 6750 objects / 5.7 million vertices
FTE (0.6.5) - Export: 3 min 46 seconds
FTE (0.7.0) - Export: 44s
The import track feature got some performance gain as well.
DDS textures now load directly without conversion — faster imports, and because the original file is preserved, re-exporting an imported track keeps the original texture quality instead of a lossy convert-convert-again round trip.
Texture conversion, when still needed, runs in parallel.
Large meshes and heavy vegetation import much faster thanks to the same bulk-processing rewrite as the exporter — tree detection, foliage normals, and tree clustering included.
Reorganized Panels
In 0.7.0, the Blender sidebar is organized around the actual track-building process:
The order now reads much more naturally from initial project setup through to final export.
Setup
The Setup panel remains the starting point for the project. It contains the track information, working directory, folder setup, tags and GeoTags.
Race Objects
The race-object tools remain available for creating:
Pit boxes
Race starts
Hotlap starts
A/B start and finish gates
Timing gates
The pitbox spawns and start positions are now offset at placement to sit on the track surface.
Surfaces
In 0.6.5, surface assignment and general object tools shared one large panel. In 0.7.0 they have been separated. - Tracks with a lot of custom surfaces also made the addon panel feel sluggish / slow - this has also been resolved.
Objects
Object setup now has its own panel. It brings the most useful KN5 object properties into the main workflow, including:
Renderable state - useful for making invisible wall colliders
Shadow casting toggles
LOD-in and LOD-out distances
Quick setup as a tree, wall or physics object
If you're using Tomas's Track Tools for the Tree placement the Tree button auto detects the setup and performs a series of operations to realize the instances and turn them into individual trees with correct origins & shaders.
This removes the need to jump between several parts of Blender for common object-level setup.
Lights stay in Blender
CSP light creation remains available in Blender because Blender is still the best place to position lights against track geometry precisely.
You can continue to:
Add Blender spot lights
Scan existing lights
Synchronize the addon data with Blender lights
Adjust color, direction, range, spot angle, fading and shadows
Save the lights to the track configuration
Lights can also be edited in the new in-game app. This is intentional: Blender is useful for authoring and positioning, while Assetto Corsa is useful for judging the final strength and color values of the lights.
Export is now the real final checkpoint
The Export panel has been tightened up around the actions users need before producing a KN5:
Auto-Setup Materials is now available directly in the export step.
Scan for Issues runs the preflight checks. - with major performance improvements on the scanning step
View Issues reopens the last scan without forcing another full scan.
The export button opens the actual Direct/Smart Export options.
Preflight feedback has also been improved.
Direct Export and Smart Export
Both export workflows remain available.
Direct Export
Direct Export writes the current scene with minimal preparation. If selected objects still have unapplied modifiers, 0.7.0 now shows a clear warning explaining that Direct Export will not apply them and recommends Smart Export when appropriate.
Smart Export
Smart Export continues to protect the working file by performing destructive preparation in a separate export copy. It:
Saves the working file
Creates a separate export copy
Optionally removes non-selected objects
Makes linked data local
Refreshes Geometry Nodes and modifiers
Realizes modifiers and instances
Converts curves and other supported object types to meshes
Removes empty material slots
Validates and prepares materials
Purges unused export data
Writes the KN5
Saves the exported track data
Returns to the editable working file
In 0.7.0, these stages have been substantially optimized and now report meaningful progress rather than appearing to freeze during a large export.
Faster texture processing and smaller duplicate data
The texture pipeline has received a major overhaul.
PNG-to-DDS conversion is now performed in batches instead of launching a separate conversion process for every texture.
Multiple conversion jobs can run concurrently, making texture-heavy exports considerably faster.
Normal maps and other linear-data textures use the correct non-sRGB conversion path.
Color textures preserve the correct color-space handling.
Identical texture data is embedded only once where possible.
Filename collisions are handled safely instead of silently making two materials reference the wrong image.
Texture processing is more memory-conscious and no longer needs to hold every source and converted image in memory at the same time.
Unsaved image edits are saved before export, preventing the exporter from accidentally reading an older version from disk.
Missing or unreadable image data produces useful warnings and graceful fallbacks.
The practical result is faster exports, fewer surprises and more reliable materials in-game.
Solid-color materials now export
Materials that use only a Principled BSDF base color and do not have a diffuse image can now receive a generated 1×1 color texture during export.
This happens in memory and does not add unwanted images or nodes to the working Blender scene. It makes simple colored materials behave more predictably in Assetto Corsa without asking the user to create placeholder texture files manually.
This allows for faster prototyping at the early stages of track making.
A much faster geometry exporter
The KN5 geometry-writing path has been extensively rewritten and optimized.
For users, the important improvements are:
Faster processing of large meshes and large tracks
Faster vertex welding and duplicate-vertex removal
Bulk geometry writing instead of handling every vertex individually
Correct handling of rotated normals and tangents
Better support for Blender's newer corner-normal API
Automatic n-gon triangulation when needed for valid tangent generation
UVs are preserved even if a mesh cannot generate valid tangents
More reliable export of Geometry Nodes, instances, curves and linked data through Smart Export (Tomas's Asset Pack)
Faster modifier refreshes with fewer expensive Blender operator calls
These changes happen behind the scenes, but they address some of the most costly and fragile parts of exporting a complex track.
Safer automatic mesh splitting
KN5 uses 16-bit mesh indices, so a single mesh cannot exceed 65,536 vertices. Very large physical meshes can also cause collision issues in Assetto Corsa.
Version 0.7.0 handles this during KN5 encoding:
Oversized meshes are split automatically into valid chunks.
Physics surfaces are also kept under a safer triangle limit.
Visual-only meshes are not split unnecessarily just because they have many triangles.
Split chunks retain the original object name so CSP mesh-name matching continues to work.
Large merged tree groups are split safely instead of overflowing the KN5 index limit.
This is more reliable and less intrusive than modifying the Blender scene in advance - it is however still recommended to optimize the tracks geometry yourself for more optimized results and even faster exports.
Better tree-group exporting
Objects prepared as tree groups can now be merged more efficiently during export. Their foliage normals are generated in bulk for more natural lighting, and large groups are divided into safe KN5 chunks when necessary.
The quick Tree object setup remains in the Blender addon. The old dedicated TreeFX sidebar panel is no longer part of the 0.7.0 UI. - 3D tree list support has been temoporarily disabled as we're working with Tomas on a better implementation.
Part 2 — Introducing Fluffy's Track Editor
Version 0.7.0 ships with a completely new in-game app for Assetto Corsa.
It appears in the in-game apps sidebar as Fluffy's Track Editor and lets you edit the currently loaded track while looking directly at the results.
This is the biggest workflow change in the update.
You no longer need to guess what a GrassFX height, shader replacement or CSP light will look like. You can now tune these features from inside the game where CSP is actually rendering them.
Shader Replacements
The Shader Replacements tab provides an editor for CSP [SHADER_REPLACEMENT_...] sections.
You can:
Select existing replacement sections
Create a replacement from the currently inspected track material
Edit object's materials
View and edit the available shader properties
Add or remove overrides
Work with material flags and additional values
Reset individual values to their original state
The app captures live material information from the loaded track and uses it as the baseline. Only actual overrides need to be stored in the config, keeping the generated file much cleaner.
Deleting a shader replacement may still require a track reload before CSP fully removes the already-applied effect. The app warns you when that limitation applies.
GrassFX — finally edited where you can see it
GrassFX is the clearest example of why the in-game app exists.
The old Blender panel exposed the settings, but Blender could not show the real CSP grass. In Fluffy's Track Editor you can adjust the GrassFX configuration while standing on the track and looking at the grass itself.
RainFX
RainFX has also moved out of the Blender sidebar and into the game.
The new tab can:
Create or find the track's [RAIN_FX] section
Automatically detect suitable track materials
Edit the configured RainFX material lists and other supported values
Add the currently inspected material
WaterFX
WaterFX now has a dedicated in-game editor with support for multiple water groups.
You can:
Add and remove water groups
Select the water type
Auto-detect water materials
The app also writes the WaterFX sections in the format CSP expects and automatically manages the required common WaterFX include.
CSP Lights
The in-game Lights tab is a full visual light editor.
You can:
Add a light and place it directly on the track
Select lights using visible world-space markers
Move a light with an in-world gizmo
Aim a light by clicking a point in the scene
Edit position and direction
Adjust color and intensity
Adjust range, spot angle and spot sharpness
Configure fade distances
Enable volumetric light behavior
Configure shadows and their extra parameters
Choose standard CSP conditions
Target meshes where appropriate
Duplicate or delete lights
The light numbers are kept stable so CSP live reloading adds and removes the correct light. Deleted numbers are intentionally not reused.
For initial placement you may still prefer Blender. For final brightness, range, color and shadow tuning, the in-game editor gives you the result immediately.
Emissive Materials
The old Blender Emissive Materials panel has been replaced by a more visual in-game editor.
You can:
Create emissive adjustments for a material or mesh
Set the emissive color and intensity
Assign an on/off condition
Control the off state
Add additional material-property adjustments
Optionally cast actual CSP light from the emissive meshes
This makes it much easier to set up windows, lamps, signs and other night lighting.
Particle Effects
Particles are a completely new user-facing workflow in the 0.7.0 toolset - kinda there just for fun for now :P
The Particles tab supports:
Flame emitters
Smoke emitters
Spark emitters
Firework positions
Particle entries can be placed on the track, selected through visible markers, moved with a position gizmo and aimed in the scene. Their size, direction, color and effect-specific values can be adjusted from the app.
TV Cameras
The new Cameras tab edits the track's data/cameras.ini, cameras_1.ini and additional TV camera sets directly.
It includes:
Adding a camera from the current F7 free-camera view
Jumping back to an existing camera's view
Editing camera position, direction, up vector, FOV and exposure
Setting camera IN and OUT points along the lap
Automatically distributing camera coverage
A world-space road ribbon showing which portion of the lap each camera covers
Visible IN/OUT and camera markers
Aim and track-progress picking directly from the scene
Safe configuration editing
Editing a track's extension configuration is powerful, so the app has been designed around backups and preservation.
First-time takeover
Fluffy's Track Editor manages the current track's extension/ext_config.ini as one organized document.
When you open a track:
If there is no config, the app can create a new managed one.
If the config is already managed by the app, it loads normally.
If an existing config was created elsewhere, the app does not overwrite it.
Instead, it offers two clear choices:
Back up & import config — preserves the old file as a numbered original backup, imports supported sections into the visual editors and keeps unrecognized content.
Back up & start fresh — preserves the old file, then creates a new empty managed config.
Nothing is replaced until you confirm the choice.
Automatic backups and restore controls
The app creates a first-seen .tse-backup safety copy and never overwrites that baseline. It powers:
Per-value Reset buttons
The two-click Restore original action
Separate backup/restore protection for each TV camera set
Destructive actions such as deleting or restoring require a second confirmation click & track reload.
Existing custom sections are preserved
Unknown sections are preserved byte-for-byte. Extra keys inside supported sections are also carried through when possible. This means an imported config can still contain hand-written CSP features that do not yet have a dedicated tab.
The saved config is reorganized into consistent categories with clear section banners, making it easier to read and maintain outside the app as well.
New recommended workflow
Build geometry and assign materials in Blender.
Set up race objects, surfaces, object properties and layouts in the Blender addon.
Use Auto-Setup Materials and Scan for Issues.
Export the KN5 with Direct Export or Smart Export.
Load the track in Assetto Corsa.
Open Fluffy's Track Editor from the app sidebar.
Pick track materials and tune CSP effects while viewing the real result.
That's It
This keeps structural work in Blender and moves visual CSP tuning into the environment that actually renders it.
Closing notes
Version 0.7.0 is a very large update, but its main goal is simple: make track creation faster, clearer and less dependent on trial and error.
Blender remains the place where the track is built. Assetto Corsa is now the place where its CSP presentation is tuned.
That separation has allowed the Blender addon to become cleaner while the new in-game app can do things that were never practical to reproduce in Blender—live GrassFX, real WaterFX, actual night lighting, particles, emissives and track-aware camera tools.
There is a lot here, and I am looking forward to seeing what you guys think about it.
Right now I'm polishing a few features and preparing the release videos and new tutorials to go alongside the release - aiming for this week so stay tuned!
A HUGE THANK YOU TO ALL YOU PATREONS!!!!!!! <3 <3 <3
For everyone supporting this project - my goal is to try and make this community my full time activity if that will be possible in the near future - This truly is my passion and I think that with AC1 and AC:EVO the future is really bright - thanks to everyone's support!
As always guys - see you on the track!
Yours,
Fluffy <3