You are currently viewing Mirage – Versatile Impostor System

Mirage – Versatile Impostor System

Mirage is a powerful tool that provides full impostor management, from baking to rendering, with automatic LOD Group setup.

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.