Unity’s built-in Terrain system is powerful. It has years of tooling behind it: sculpting, painting, vegetation, LOD, detail maps.
But it was designed around one core assumption:
Terrain is a heightmap rendered as a smooth surface.
That assumption becomes a constraint when your project does not want smooth terrain.
The core limitation: Heightmap-locked topology
Unity Terrain is fundamentally a heightmap grid:
- Vertex density is tied directly to heightmap resolution.
- Topology is uniform across the entire terrain.
- Normals are generated for smooth shading by default.
If you want a faceted low poly look, you are fighting the system.
You can fake flat shading in shaders, but:
- Geometry shaders are not available on most mobile targets.
- Even when available, they are not ideal for performance-sensitive projects.
So you end up with a mismatch:
- The engine assumes smooth terrain.
- The art direction requires faceted geometry. That mismatch is what led me to explore mesh terrain instead.
What is Mesh Terrain?
A mesh terrain system does not rely on Unity’s built-in heightmap renderer.
Instead, it:
- Generates a regular mesh from height data.
- Controls topology explicitly.
- Can duplicate vertices per triangle to guarantee hard edges.
- Decouples polygon density from heightmap resolution.
This makes a major difference.
With mesh terrain, you can:
- Preserve true flat shading.
- Control where polygons are dense and where they are sparse.
- Optimize specifically for stylized or mobile environments.
Why this matters for mobile
Mobile platforms amplify these constraints:
- Geometry shaders are largely unavailable.
- Overdraw and fragment cost matter.
- Uniform high vertex density wastes performance.
A mesh terrain approach allows:
- Explicit triangle budgeting.
- Dynamic polygon density.
- Clean faceted normals without shader tricks.
That makes mesh terrain particularly suitable for:
- Low poly games
- Stylized environments
- Mobile and VR projects
- Projects that require predictable geometry
Where Polaris fits in
This exploration eventually became Polaris.
Polaris is a mesh terrain system for Unity designed specifically for faceted and stylized environments.
Instead of wrapping Unity Terrain, Polaris:
- Generates terrain as mesh geometry.
- Allows dynamic polygon density.
- Preserves flat shading by design.
- Avoids reliance on geometry shaders.
- Targets workflows where topology control matters.
In short:
Polaris exists because mesh terrain solves problems that heightmap terrain does not.
It is not a shader trick layered on top of Unity Terrain.
It is a topology-first terrain system.
Tradeoffs (because there are always tradeoffs)
Unity Terrain still has advantages:
- Mature ecosystem.
- Built-in vegetation and detail workflows.
- Strong tooling for realistic environments.
For desktop projects targeting realistic smooth landscapes, Unity Terrain combined with shader-based stylization can still be sufficient.
But when your goal is:
- Explicit faceted geometry
- Mobile compatibility
- Polygon density control
A mesh terrain system becomes a cleaner solution.
Final thoughts
Mesh terrain is not universally “better” than Unity Terrain.
It is better when:
- Geometry style matters more than heightmap convenience.
- You need true faceted shading.
- You care about triangle distribution.
- You target mobile or performance-constrained platforms.
That is the space Polaris was built for.
If you’re interested in the longer development story behind building a mesh terrain system from scratch, I wrote about it here:
Top comments (0)