Instancing
Drawing many copies of the same mesh and material in one batch, with only position, rotation, scale and a little custom data stored per copy. This is why kits, rocks and forests are cheap to draw.
Instancing means drawing many copies of the same mesh with the same material in a single batch. The mesh data is stored once; each copy (an instance) only stores its own transform and, optionally, a few extra values. Unity's definition is short: GPU instancing "uses a single draw call to render multiple GameObjects that use the same mesh and material" (Unity Manual: GPU instancing).
Instancing is why reuse is cheap. A kit wall used 300 times, a rock scattered 2,000 times or a forest of one tree species can cost little more to submit than a single copy.
#What instancing saves
Draw calls. Without instancing, each object is usually its own draw call. Epic describes draw calls as "a lookup cost for assets that happens every frame" (Unreal Engine documentation: Instanced Static Mesh Component in Unreal…); grouping identical meshes into one Instanced Static Mesh (ISM) component cuts that cost (Unreal Engine documentation: Instanced Static Mesh Component in Unreal…).
Memory and overhead. Epic notes that a full primitive uses about ten times more GPU memory than a basic instance: 672 bytes against 64 (Unreal Engine documentation: Instanced Static Mesh Component in Unreal…). Each placed actor also carries its own overhead, so one actor holding many instances is cheaper than many separate actors (Unreal Engine documentation: Instanced Static Mesh Component in Unreal…).
#What instances can and cannot vary
Instances share one mesh and one material. What can still differ:
- Transform: position, rotation and scale, always.
- Per-instance data: Unity lets each instance have "different properties, such as color or scale" (Unity Manual: GPU instancing). Unreal ISMs support Per Instance Custom Data, extra float values that a material can read, for example to tint each rock slightly or offset a texture (Unreal Engine documentation: Instanced Static Mesh Component in Unreal…). Godot's MultiMesh exposes
INSTANCE_IDandINSTANCE_CUSTOMto the vertex shader (Godot Engine documentation: Optimization using MultiMeshes).
What cannot: in Unreal, collision, materials and shadow settings are "component-level only and cannot be edited per instance" (Unreal Engine documentation: Instanced Static Mesh Component in Unreal…). If one rock needs a different material, it leaves the batch.
#Engines compared
| What it is called | Notes | |
|---|---|---|
| Unity | GPU instancing (material option) | Benefits depend on platform and GPU, and are "better on mobile platforms than on desktop platforms"; Skinned Mesh Renderers are not supported; with URP or HDRP, custom shaders only instance if the SRP Batcher is disabled or the shader is incompatible with it (Unity Manual) |
| Unreal | Instanced Static Mesh (ISM) and Hierarchical ISM (HISM) | HISMs add a hierarchy for faster culling and LOD on large numbers of static instances; Nanite-only projects should use ISMs, since Nanite does its own culling and LOD (Unreal Engine documentation) |
| Godot | MultiMesh | "A single draw primitive that can draw up to millions of objects in one go", but culling is all-or-nothing for the whole MultiMesh, so large worlds split instances into several MultiMeshes by area (Godot Engine documentation) |
Epic's sample project Valley of the Ancient "uses ISMs extensively" to build its world from kitbashed pieces (Unreal Engine documentation: Instanced Static Mesh Component in Unreal…).
#Related terms
draw calls · hierarchical LOD · modular kits · procedural placement and scattering · foliage and vegetation · level of detail
#Further reading and watching
References
- · GPU instancing · Unity Manual, 2026 · docs · accessed 2026-10-21
- · Instanced Static Mesh Component in Unreal Engine · Unreal Engine documentation, 2026 · docs · accessed 2026-10-21
- · Optimization using MultiMeshes · Godot Engine documentation (source on GitHub), 2026 · docs · accessed 2026-10-21
Pages that link here
- Modular kits Topic
- Kitbashing Topic
- Modeling rocks, trees and terrain pieces Topic
- Polygon and triangle budgets Topic
- Level of detail (LOD) Topic
- Impostors and billboards Key term
- Hierarchical LOD (HLOD) Key term
- Sculpting rocks and cliffs Guide
- Decals Topic
- Material layers and Substrate Topic
- Terrain and landscapes Topic
- Heightfield erosion Key term
- Foliage and vegetation Topic
- Wind and world position offset Key term
- Poisson disk sampling Key term
- Virtualised geometry (Nanite) Topic
- Set dressing and art passes Topic
- Art fatigue Key term
- Performance and profiling Topic
- Draw calls Key term
- Game art breakdowns: a curated library Reference
Last updated 2026-10-22