DrawCallAnalyzer — See Your Scene the Way the Game Engine Sees It
Per-submesh draw call counts, batching candidates, GPU instancing detection, texture VRAM and overdraw heatmap — before you hit Export.
Why DrawCallAnalyzer
Most Blender-to-engine workflows discover the performance problem after the asset is already in Unity / Unreal / Godot — at which point you're inside the game engine's profiler, hunting through prefab settings, and not in Blender where the fix actually lives.
DrawCallAnalyzer scores your Blender scene with the same accounting rule the engines use: one draw call per used material_index per renderable mesh, GPU-instanced linked duplicates collapse, hidden objects don't count. So you can fix overdraw, atlas materials, and merge static batches before the export round-trip.
Features
Engine-accurate draw call counting
- One DC per used material_index, not per material_slot
- Skinned meshes detected via Armature modifier — excluded from static-batch eligibility
- Linked duplicates collapsed correctly for GPU instancing
- hide_render and collection-level hide_render are respected
Batching analysis
- Static batching candidates (Unity 64k-vert combined-mesh rule)
- Dynamic batching candidates (Unity 300-vert threshold)
- GPU instancing groups with per-material counts
- Material atlas suggestions — same-shader + same-format texture groups
LOD chain detection
- Auto-detects _LOD0 / _LOD1 / _LOD2 naming (case-insensitive)
- Per-base breakdown table: vertex / DC reduction across levels
- Warnings: misordered LODs (LOD1 has more verts than LOD0), weak reduction (<10% saving)
- "Active LOD level" selector — score only the runtime LOD, not the sum
Texture memory (VRAM)
- One compression format per platform: DXT5 on Desktop, ASTC 4×4 on Mobile, BC7 on Console, plus a third for mipmaps
- Per-texture breakdown sorted by size
- Budget warnings per platform
Overdraw heatmap
- 16×16×16 spatial-hash AABB-overlap
- Camera-aware projection when a scene camera is set
- Green / yellow / red color tint applied to viewport object color
- One-click restore to original colors
One-click platform presets
- Mobile — 200 DC budget, 256 MB VRAM, 65k vert hard limit
- Console — 3000 DC, 1 GB VRAM
- Desktop — 5000 DC, 2 GB VRAM
CSV / JSON report export
Structured dump with all stats: summary, per-material, instance groups, suggestions. Drop into code review, pin to PR, or diff against the previous run.
Snapshot & Compare
Save the current analysis as a baseline. Change the scene (atlas textures, merge meshes, enable instancing). Click Compare — see the delta.
Compatibility
- Blender: 4.2 LTS and later (tested on 4.2.9 and 5.2.0)
- OS: Windows / macOS / Linux — pure Blender Python, no DLL
- Heuristics tuned for: Unity (URP / HDRP / Built-in), Unreal Engine 4 / 5, Godot 4
What you get
- DrawCallAnalyzer add-on (Python only, no DLL)
- README with full quick-start guide
- Free updates for v1.x
- Support through marketplace messaging
Install
Edit → Preferences → Add-ons → arrow button in the top right corner → Install from Disk → pick the add-on zip → enable. The DrawCalls sidebar tab appears in the 3D Viewport (press N).
License
GPL-3.0. Standard for Blender add-ons.