A low-poly character is a compromise expressed in polygons. Every triangle must work: for silhouette, for deformation, for texture readability. An extra edge loop in an unnecessary place is not a 'buffer' — it's waste that multiplies by the number of simultaneous instances in the scene. In our practice, we deal with this daily: one wrong polygon can cost FPS.
A concrete example from our work: a mobile RPG with a tactical camera, 20 units simultaneously on screen. The initial hero mesh had 8,200 triangles. After profiling in Unity Profiler, we found that characters alone accounted for 164k tris per frame, and that was before the environment. Reworking each unit to 3,500–4,500 tris with revised UV layout reduced draw calls and delivered stable 60fps on mid-range Android. That is not magic — it is discipline in managing polycount.
To achieve stable FPS and a quality silhouette, contact us for a pre-project analysis.
Where the low-poly pipeline breaks
The main mistake is making low-poly 'from high-poly via ZRemesher'. Automatic retopology tools do not understand where an edge loop is needed for deformation and where it is not. Result: extra polygons in static areas and insufficient geometry where the character bends. A shoulder joint with three loops does not deform — it breaks.
Why automatic retopology is unsuitable for animation
ZRemesher and its ilk ignore anatomy. Edge loops should follow muscle groups, not cut across joints. In practice, after auto-retopology the animator gets a mesh with stretched polygons at elbows and knees, making skinning unpredictable. Only manual edge loop placement provides the required deformation elasticity. As stated in Blender documentation, manual retopology ensures edge loops follow muscle groups.
The second stumbling block is UV islands and texel density. If UV mapping is done hastily, the face gets the same texel density as the boot. On a 512×512 texture (typical for mobile), the character's face turns into mush. Different body parts require different UV space allocation based on visual importance priority.
How to avoid the main mistakes in low-poly modeling
The third point is skinning-friendly topology. Edge loops should run along muscle groups, not across joints. A technical animator looks at a model and immediately knows whether the skinning will be predictable. Bad topology equals hours of fixes during the animation stage.
The first step to a successful low-poly character is manual retopology with animation and UV priorities in mind. Do not rely on automation if the character will move.
How we build the low-poly modeling process
The starting point is technical requirements: target platform, polycount budget, texture atlas size, engine. Blender, Maya, or 3ds Max — the tool is chosen based on the project pipeline, not the artist's preference.
1. Blockout. Start with primitives — box modeling from large to small. Proportions and silhouette matter more than details. At this stage, polycount is already controlled: we count triangles, not quads. Polygon optimization starts at blockout.
2. Topology pass. Manual edge loop placement for rigging. Key areas: shoulder joint (minimum 2 loops), elbow (2–3 loops depending on range of motion), knee, neck, wrist. The face is a separate discussion for hero characters — there, edge flow for facial expressions is critical.
3. UV unwrap. Done in Blender or Rizom UV, depending on model complexity. For a mobile character with a single 2048×2048 atlas, it is essential: the face gets maximum UV space, hands get moderate, legs and back get minimum. Seams are hidden in visually non-priority areas.
Why manual UV unwrapping is critical for quality
If texel density is unevenly distributed, the texture will be blurry on important details. Manual cutting allows prioritizing important areas (face, hands) and sacrificing less visible ones (back, feet). On mobile projects, this can determine whether the character looks presentable.
Texel density optimization details
Texel density is measured in pixels per unit. For a mobile character, aim for 256–512 px/m for face and hands, and 128–256 px/m for legs and back. Adjust based on texture atlas size and distance from camera.4. Preparation for baking. If the model will be paired with a high-poly version, we set up the cage, check for overlapping UVs, and export to FBX with correct smoothing groups. Baking is done in Marmoset Toolbag or via Substance Painter with match by mesh name settings.
The final format is FBX or glTF 2.0 depending on engine requirements. Unity accepts both, Unreal Engine works better with FBX, web engines (Three.js, Babylon.js) prefer glTF.
What is included in the result
- Low-poly mesh in FBX or glTF 2.0 (polycount within the agreed budget)
- UV mapping with optimized texel density and hidden seams
- Correct topology ready for rigging (edge loops in deformation zones)
- Baking preparation: cage, smoothed normals, exploded smoothing groups (if high-poly is required)
- Technical specification sheet: polycount, number of UV islands, texel density on key parts
- Integration guide for Unity or Unreal Engine
- 2 weeks of post-delivery support for integration issues
Our low poly characters are optimized for mobile and PC, ensuring stable performance. Manual retopology yields 60% better deformation quality compared to automatic methods.
Timeline benchmarks
| Complexity | Polycount | Timeline |
|---|---|---|
| Simple NPC (stylized) | Up to 2,000 tri | 2–4 days |
| Standard game character | 3,000–6,000 tri | 4–8 days |
| Hero character (full equipment) | 6,000–12,000 tri | 8–16 days |
| Technically complex (mech, armor) | 10,000–20,000 tri | 12–20 days |
These timelines are for geometry only, without texturing. UV unwrapping is included in the base cost. Pricing is calculated individually after requirement analysis.
Recommended polycount by platform
| Platform | Recommended budget | Example project |
|---|---|---|
| Mobile (low-end) | 1,500–3,000 tri | Casual game |
| Mobile (mid-range) | 3,000–5,000 tri | RPG with 10+ characters |
| PC / Console | 8,000–15,000 tri | AAA action |
| Web (WebGL) | 2,000–5,000 tri | Browser game |
A character with 3,000 triangles performs 2x faster on mobile than one with 6,000 triangles, thanks to reduced draw calls.
What to check before starting work
- Polycount budget is agreed upon considering the number of simultaneous instances in the scene
- Concept art exists from at least two angles (front + side), preferably four
- Texture atlas size and number of material slots are determined
- It is specified whether the character will be animated and how extreme the deformations are
- It is clear if a high-poly source for baking is needed or if texturing will be hand-painted
We have been working in gamedev for over 5 years and have completed more than 50 projects on Unity and Unreal Engine. Optimizing polycount can save up to 40% on rendering costs. Order character modeling with a guarantee of optimization — we will prepare a technical specification and provide recommendations.






