Skip navigation, go to main content

Virtualized geometry for Unity

NanoGeo

NanoGeo is a virtualized geometry system for Unity. It lets you build scenes with billions of triangles, from one billion up to tens of billions, using extremely detailed meshes. No LODs to make by hand.

How it works

Split into clusters

NanoGeo splits every mesh into small clusters of up to 128 triangles and builds many levels of detail ahead of time, in the Editor. You add the NanoGeo Mesh component and nothing else.

Only what you can see

While the game runs, the GPU picks only the detail you can actually see on screen, skips what is hidden or off screen, and draws the rest.

Cost follows the screen

The cost depends on screen size, not on how many triangles are in the scene. In our benchmark NanoGeo drew only about 92 thousand triangles per frame out of about 500 million.

How much faster

Benchmark scene with 381 rocks of 1.3 million triangles each, 499 million triangles in total. NVIDIA RTX 5070, 1080p, shadows on.

500

FPS

NanoGeo

GPU time per frame: 1.73 ms

270

FPS

GPU Resident Drawer with LOD Groups

GPU time per frame: 3.72 ms

6

FPS

Standard MeshRenderers

GPU time per frame: 161.5 ms

NanoGeo drew only about 92,000 triangles per frame out of about 500 million.

When to use it

From millions up to billions of triangles: scanned or sculpted models and large detailed environments. The more geometry you have, the bigger the gain.

  • Open worlds and large environments with lots of detailed props
  • Photogrammetry and 3D scans used straight from the scan
  • High poly sculpts from ZBrush or Blender, with no retopology or LODs
  • Architecture, interior and product visualization
  • Real time cinematics and trailers
  • Big asset packs: add NanoGeo to hundreds of prefabs in one click

Not a good fit for light scenes

fixed GPU time per frame
0.3 ms
extra video memory
0.5 GB
FPS in a light scene
300 → 275

These costs are fixed, even when there is little to draw. At 60 FPS the difference is less than 1 FPS.

If your scene already runs well with normal models and LODs, you may not need NanoGeo. Use Tools > NanoGeo > Disable NanoGeo to compare in your own scene.

What you get

One component
Your MeshRenderer and materials stay as they are.
HDRP and URP
Lighting, shadows, decals, SSAO, light probes, TAA and post processing look the same as before.
Materials
HDRP Lit, URP Lit and HDRP Shader Graph, including alpha clipping (leaves, fences) and double sided materials.
Objects
LOD Groups, mirrored objects and moving objects.
Occlusion culling
Done on the GPU, so objects hidden behind others are skipped automatically.
NanoGeo Mesh Prefab
Sets up whole prefabs or folders of prefabs, with warnings and one click fixes.
Diagnostics
Visualization modes, statistics and GPU timings show what NanoGeo is doing.
In the package
Demo scenes for HDRP and URP, benchmark tools and a full user guide as a PDF.

Requirements and limits

Unity
Unity 6000.0.84f1 or newer, which is every Unity 6 version.
Render pipeline
HDRP 17 or URP 17. The Built-in Render Pipeline is not supported.
Baking
Windows Editor, 64 bit. Games built for other platforms can use data baked on Windows.
Graphics API
Direct3D 12 or Vulkan for everything. Direct3D 11 and Metal work without the software rasterizer, a speed up for very small triangles.
Not supported
These objects keep their normal MeshRenderer: skinned meshes and blend shapes, transparent materials, terrain, tessellation, URP Shader Graphs, hand written shaders, and objects with baked lightmaps (use light probes instead).

Asian Dynasty Environment by Befour Studios, used here to show NanoGeo in a real scene. The environment is not included with NanoGeo.

meshoptimizer by Arseny Kapoulkine, MIT license. It runs in the Editor only and is not included in builds.

Start a new story

Tell us what you want to build.

A game idea, a data problem, or a system that has been running for years and needs a partner,... just describe it briefly, and you’ll receive a response directly from us.

Start a project