Advanced Rendering
A RealtimeMesh is more than a triangle list. RMC can generate the same GPU representations the engine bakes for static assets — but at runtime, from geometry you create or modify on the fly. That lets dynamic and procedural meshes participate in features that normally require cooked content: Nanite virtualized geometry, mesh distance fields (for Lumen, distance-field shadows, and DFAO), and Lumen mesh cards (for the Lumen surface cache).
This section covers the three advanced rendering paths. Each is optional and lives in its own module, so you only pay for what you use.
Runtime Nanite
Section titled “Runtime Nanite”Build a Nanite-ready mesh — full LOD DAG, cluster hierarchy, and per-page streaming — from runtime or procedural vertex data, with no cooked bake. The result is applied to the mesh and rendered through the engine’s Nanite pipeline just like a cooked Nanite static mesh.
- Module:
RealtimeMeshNanite - Requires: UE 5.7 (works on the unmodified engine) or the TriAxis provider engine fork. On other engines the API compiles but produces nothing — see the tier breakdown on the Nanite page.
- Start here: Runtime Nanite
Mesh distance fields
Section titled “Mesh distance fields”Generate a signed distance field (SDF) for a section group on the GPU (or CPU) and apply it to the mesh. Once applied, the field feeds everything that consumes a mesh distance field: Lumen global illumination, distance-field shadows, and distance-field ambient occlusion.
- Modules:
RealtimeMeshSDF(the standalone generator) +RealtimeMeshExt(theURealtimeMeshSDFLibrarybridge) - Requires: the project setting Generate Mesh Distance Fields enabled. The GPU path needs a real RHI; a CPU path is available for headless/background use.
- Start here: Distance Fields
Lumen cards
Section titled “Lumen cards”Generate a Lumen card representation — the set of oriented cards Lumen uses to build its surface cache — and apply it to the mesh so Lumen can light it correctly. A dynamic mesh with no card representation gets no surface-cache coverage and will look wrong under Lumen GI.
- Modules:
RealtimeMeshSDF+RealtimeMeshExt - Requires: Lumen GI enabled, and mesh distance fields enabled (Lumen depends on both). Cards and the distance field are usually generated together.
- Start here: Lumen Cards
Which do I need?
Section titled “Which do I need?”- Just want your dynamic mesh to look right under Lumen GI? You need both a distance field and a card representation. The
URealtimeMeshSDFLibrarygives you a single call that generates and applies both — see Lumen Cards. - Want distance-field shadows or DFAO without Lumen? A distance field alone is enough — see Distance Fields.
- Rendering huge amounts of high-poly runtime geometry? Use Runtime Nanite. Nanite is independent of the SDF/Lumen paths — it has its own LOD and streaming.