Theme:

Performance

Unia is designed from the ground up to handle extremely large scenes and expansive content. Medium-tier devices such as the: Quest 3, Vega 7, Snapdragon 860+ and Apple M1 are used for performance profiling. Unia's performance for large scenes or complex UI's generally better than Godot and Unity, and aims to work on majority of most modern consumer devices - unlike Unreal.

Batching

Unia uses batching, so all default meshes use a single draw call, this helps with raw GPU throughput. All skinned meshes (avatars) by default also use one single draw call.

Steaming

Textures and geometry are incrementally loaded, this helps with handling VRAM usage for large scenes with a lot of content.

Occlusion and frustum culling

Unia uses compute driven culling, and you can optionally use CPU driven occlusion culling:

object.occluder = false;

This currently works with best with manually generated boxes, or objects with box like geometry.

Automatic level of detail (LOD)

Unia dynamically adjusts the level of detail on large objects using meshlets. Distant parts of an object are rendered at lower detail automatically.

To disable LOD on a specific object:

object.LOD = false;

Unia uses MeshOptimizer to handle this efficiently.