Mirage - Versatile Impostor System

Mirage gives access to AutoLOD (Mesh Decimator) for FREE!

It works in symbiosis with it, for the ultimate optimization ecosystem.


Mirage users can also get our legacy impostor system AutoLOD - Impostors for an alternative workflow. See the main differences below.


Try Mirage on this Online WebGL Demo

You can check the Online Documentation

  • Reduce the triangles count and draw calls by orders of magnitude in just one click
  • Performance magic - Up to 10x FPS increase on complex massive scenes
  • By far the most versatile impostor system : Say goodbye to pink outputs or other errors, thanks to a a new elegant and unique baking procedure, Mirage is compatible with ANY unity version after 2020.3 and ANY render pipeline, with ANY shader and can be embedded on any platform. Natively.
  • Bake as many objects as you want in a single impostor
  • Extremely easy to use: Struggling is not an option, the plugin is really straightforward to use and you will get your first impostors baked in just a few seconds.
  • VR ready: and more generally, multi-view and single pass stereo instancing compatible.
  • Compatible with GPU Instancing
  • 2 lighting modes:
    • Surface estimation: Lit, multi-light compatible impostors
    • Use Scene Sun Source: If your lighting is directional and static, you can use this option to bake directly the light reflections on the impostor colormap. The impostor is then rendered on an unlit material.
  • Lightweight and non-intrusive module: Mirage will not change project or player settings nor install any additionnal dependencies in your project. It is a lightweight standalone package that was designed to fit seamlessly in any project.

  • What is an impostor?

An impostor is a billboard that displays an image of a 3D object. The image will update and change according to the viewing angle in order to fake a 3D effect and save on performance.

  • When should I use it?

Impostors are mainly used to render non-deformable objects far off in the distance in order to optimize the scene.

You could also use them to get a unique art style with a 2.5D "snapping" effect.

  • Can any object in my scene be replaced with an impostor?

Technically, any objects with a MeshFilter and MeshRenderer attached can be baked into an impostor. However, they should mainly be used to replace meshes in the far distance. At closer range, the difference will be noticeable as a simple quad doesn't intersect the same way with surrounding objects in the same way as the original mesh. Also, impostors are baked in orthographic view which means that the perspective will be wrong at closer ranges.

  • Are impostors compatible with the LODGroup component?

Yes. You also don't have to deal with geometry alignment manually, by default the tool sets the LODs for you.

  • How long does it take to bake an impostor?

A few seconds.

  • Can I build on any platform?

The impostors shader is based on Unity surface shader so you should be able to build on any platform handled by Unity out-of-the-box.

  • Are there any required dependencies?

No. This is a standalone package.

  • What makes Mirage different from its competitors?

Mirage is the only 100% versatile 3D impostor system. It is compatible with any shader, on any pipeline, on any target platform, on any unity version after 2020.3, out-of-the-box. Although it is a trade on visual fidelity, especially when dealing with complex objects with intricate self-shadowing shapes or smoothness variations. Fortunately Mirage comes with a lot of post-baking settings directly in the material inspector and you can always get a seamless match from the original object when seen from far in the distance.

  • Can I bake impostors at runtime?

Not yet, but that is a feature we are working on. The C# core was designed to have several baking engines, but only the EditorBakingEngine is available yet.

  • What are the differences between Mirage and AutoLOD Impostors ? 

Mirage is a better AutoLOD impostor, with a 100% remade baking backend. 

From the user perspective they look really similar, the main difference is being able to have several objects into a single impostor which was not possible on AutoLOD. It really makes it reach a whole new level of optimization. 

Other significant improvements are: 

• ⁠metallic estimation (impostors look better overall)  

• ⁠way faster at baking  

• ⁠less intrusive (AutoLOD needs to change scenes on the fly and reopen the current scene when baking)  

• ⁠more versatile (any pipeline is supported natively vs AutoLOD doesn’t work at 100% on HDRP)  

• ⁠designed to expose several baking backends in the future (only 1 editor-only is currently available but I will work on a runtime one) 

• ⁠compatible with the LODGroup cross fading  

• ⁠More post baking adjustments like saturation etc


AutoLOD remains an interesting choice since it has more lightweight Impostors, and uses a baking scene that you can customize, but overall Mirage is better on most aspects.


If you need help or want more information, you can join the Discord server