Polycount Checker
Before you can hit a polycount budget you first have to know how to actually read one, and the single most common confusion is that "face count" and "triangle count" are frequently different numbers for the exact same mesh, which makes a quick, correct check worth understanding before trusting any single tool's displayed number.
Matching downloadable assets
Start with these seed models, then generate variants in the same low-poly direction.
Members unlock protected STL access
Use the free OBJ to test the shape. Subscribe for protected STL downloads now; GLB, FBX, USDZ and Unity are shown as production export targets, not direct library downloads yet.
Nature Starter Pack
Low-Poly Pine Tree
A lightweight forest prop with a trunk, two faceted foliage layers and a clean base pivot for scattering.
View details- Triangles
- 24
- Texture
- Flat color
- License
- Commercial use
- Formats
- OBJ
Protected STL download
Production export targets
Cozy Animal Pack
Low-Poly Fox
A stylized animal prop for cozy games, woodland scenes and AR previews.
View details- Triangles
- 24
- Texture
- Flat color
- License
- Commercial use
- Formats
- OBJ
Protected STL download
Production export targets
Highlights
- A quad polygon counts as one "face" but always renders as two triangles — face count and triangle count differ
- Blender: enable Viewport Overlays > Statistics and read the Tris line, not the Faces line
- Unity: mesh.triangles.Length / 3 in code, or the Tris value in the Model Preview panel of the Inspector
- Godot's MeshInstance3D inspector and the Debugger's Monitors tab both show post-triangulation counts
- Unreal's Static Mesh Editor details panel shows the true triangle count, already post-triangulation
- glTF/GLB meshes are required to be pre-triangulated in the file, so no quad ambiguity exists at the file level
- Divide a glTF mesh primitive's indices accessor count by 3 to get its triangle count directly from the JSON
- A mismatch between file-level and engine-reported triangle count usually means an import setting altered geometry
The core confusion is quads versus triangles. Most DCC tools, Blender included, default to showing face count, which counts a quad (a four-sided polygon) as one face even though a GPU always renders it as two triangles internally. A mesh reported as "5,000 faces" in a modeling tool built from quads is therefore actually rendering as roughly 10,000 triangles, and this is exactly why a model can look like it matches a stated budget in your modeling software while running twice as expensive as expected once it hits an engine or a glTF export, where everything gets triangulated regardless of the source topology.
In Blender, enable Viewport Overlays then Statistics to see a live triangle count (labeled Tris) alongside face count in the corner of the 3D viewport, and this is the number that actually matters for a real-time budget, not the Faces line above it. Selecting a specific object and checking the N-panel's Item tab, or using the Mesh Analysis overlay, narrows the count down to just that object rather than the whole scene, which matters when you are checking one prop's budget inside a larger multi-object file.
In Unity, the true rendered triangle count for an imported mesh is mesh.triangles.Length / 3 in code, or visible directly in the Inspector when you select the model's mesh asset and expand the Model Preview panel, which shows both Vertices and Tris for the exact asset that will be drawn, already triangulated regardless of the source FBX or GLB's authoring topology. Godot shows an equivalent count in the MeshInstance3D inspector or via the Debugger's Monitors tab during play, and Unreal exposes it through the Static Mesh Editor's details panel, both post-triangulation just like Unity.
For a raw glTF or GLB file with no engine or DCC tool open, the triangle count is derivable directly from the file's JSON: each mesh primitive's indices accessor count divided by 3 gives the triangle count for that primitive (glTF meshes are required to be pre-triangulated, so there is no quad-vs-triangle ambiguity to resolve at the file level at all), and online glTF viewers like the official glTF Sample Viewer or Don McCurdy's glTF Report display this total automatically without needing to parse the JSON by hand. This file-level number is the ground truth every engine's import inspector should match, and a mismatch usually means an import setting silently added or removed geometry.
Checking polycount correctly, at the triangle level and for the specific object or file in question rather than trusting a tool's default face-count display, is the first real step in any polycount budget on this site, whether you are targeting the mobile, desktop or VR tiers referenced across every model and platform page. Everything generated here is yours to use commercially with no attribution required, and a quick habit of checking the real triangle count before shipping saves the much larger cost of discovering a budget was silently doubled after a game is already in players' hands.
Act on the numbers you find
Frequently asked questions
Why does my model show a different polycount in Blender than in Unity?
Blender's default display often shows face count, where a quad counts as one face, while Unity always reports the true triangle count after everything is triangulated on import. A quad-based mesh will show roughly half the number in Blender's Faces line compared to Unity's Tris count.
How do I see the real triangle count in Blender?
Enable Viewport Overlays then Statistics in the 3D viewport. Read the Tris number specifically, not the Faces number above it, since Faces counts quads as one unit even though they render as two triangles.
How do I check a mesh's triangle count in Unity?
Select the imported model's mesh asset and expand the Model Preview panel in the Inspector to see Vertices and Tris directly, or use mesh.triangles.Length / 3 in a script for a programmatic check.
Can I check the triangle count of a raw GLB file without opening an engine?
Yes. Divide each mesh primitive's indices accessor count by 3 in the file's JSON, or load the file into an online tool like the glTF Sample Viewer or glTF Report, which displays the total automatically.
Why would a triangle count mismatch between a file and an engine import?
This usually means an import setting silently added or removed geometry, such as an automatic mesh optimization step, a duplicate-vertex merge, or an unexpected LOD generation during import. Always compare the file-level count to the imported-asset count when debugging a budget overrun.
Related
Browse allNeed a custom low-poly model?
Generate one from a text prompt or reference image, then export GLB, FBX, OBJ or STL.
Open the generator