Instancing and Performance Best Practices#
As you add props and other elements to your factory scene, you’ve likely noticed something: many objects are identical. Safety cones, pallets, mounting brackets, warning signs, these items appear multiple times throughout a real facility.
Repeated references can increase the cost of composing and processing a scene. They do not necessarily duplicate every geometry or material buffer; source layers and renderer resources may already be shared.
What Are Instances in USD?#
USD scenegraph instancing shares a composed descendant hierarchy through a prototype among compatible instances. Each instance still has its own root and associated overhead. USD determines prototype sharing from composition; merely referencing the same filename does not guarantee compatibility.
Think of instancing like a blueprint system:
The prototype is the architectural blueprint—one detailed plan
Each instance is a building constructed from that blueprint—sharing the same design but existing in different locations
How Instances Work Differently#
Ordinary References |
USD Instances |
|---|---|
Separate composed descendant hierarchies |
Compatible instances share a prototype hierarchy |
Descendants can have per-reference overrides |
Descendants cannot be overridden independently per instance |
Resource sharing depends on composition and the renderer |
Shared hierarchy reduces composition work; per-instance costs remain |
See OpenUSD scenegraph instancing for sharing rules and editing restrictions.
Visual Identification in Omniverse#
USD instances display distinct visual cues in the Stage panel:
Instance icon Small overlapping I symbol next to the primitive name
Why Instances Are Critical for Digital Twins#
Understanding why instancing matters helps you build scalable, performant digital twins that can grow with your facility’s needs.
Performance at Interactive Speeds#
Instancing can reduce scene composition and processing costs. Rendering benefits depend on the renderer, asset complexity, and scene configuration; instancing does not guarantee interactive frame rates.
When to Use Instances#
Not every object benefits from instancing. Understanding when to apply this technique ensures optimal results.
Ideal Candidates for Instancing#
Asset Type |
Examples |
Why They Work Well |
|---|---|---|
Safety Equipment |
Cones, barriers, signs, emergency equipment |
Standardized designs, multiple locations, regulatory compliance |
Infrastructure Components |
Mounting brackets, cable supports, pipe fittings |
Standardized parts, repeated throughout facility, identical specifications |
Environmental Elements |
Lighting fixtures, flooring tiles, structural beams |
Consistent appearance requirements, multiple installations |
Transport and Storage |
Pallets, containers, conveyor components |
Standardized dimensions, frequent repetition, material handling needs |
When Not to Use Instancing#
Avoid For |
Reason |
Alternative Approach |
|---|---|---|
Unique machinery |
Each machine serves different functions, has different configurations |
Use references with individual customization |
Highly customized objects |
Objects requiring significant individual modifications |
Create variants or separate asset versions |
Single or few objects |
Savings may be too small to justify editing restrictions; measure first |
Standard referencing is sufficient |
Frequently changing objects |
Objects that need regular individual updates |
Standard references allow easier individual editing |
Decision Framework#
Use this simple framework to determine if instancing is appropriate:
Count Do you have repeated compatible objects? There is no universal minimum count for a benefit.
Complexity Is the object geometrically complex enough to benefit from shared memory?
Stability Will the objects remain largely unchanged once placed?
Scale Do you expect to add more identical objects in the future?
If these conditions apply, compare the same scene with and without instancing. Record instance/prototype counts, memory use, and viewport frame time under the same loading and viewing conditions before deciding.
Getting Started: Preparing for Instancing#
Before creating instances, prepare your scene and identify appropriate candidates from the props you’ve already placed.
Identifying Instance Candidates#
Look through your current factory scene for:
Multiple identical props placed in different locations
Objects you’ll likely need more of as the scene develops
Standardized components that appear throughout industrial facilities
Step-by-Step Process: Creating Your First Instance#
We’ll walk through converting existing props to instances, then creating additional instances from the prototype.
Converting Existing References to Instances#
Starting with props you placed in previous sections:
Creating Instances From the Properties Panel#
Select an object you want to instance
Open the Property panel
Toggle “Instanceable”
Monitoring Your Instancing Success#
Omniverse provides tools to verify that instancing is working correctly and delivering performance benefits.
Enabling USD Stage Statistics#
To monitor instancing effectiveness, enable the USD Stage Stats extension:
Navigate to Developer > Extensions
Search for “USD Stage Stats”
Enable the extension
Close the Extensions window
Opening the Statistics Window#
Open Window > Utilities “Statistics” to open the statistics panel
In the Statistics window, set “Scope to Display” to “USD Stage”
Understanding the Statistics#
The USD Stage statistics display critical instancing metrics:
Metric |
What It Means |
Why It Matters |
|---|---|---|
PrototypeCount |
Number of unique prototypes in your scene |
Shows how many different objects you’re instancing |
TotalInstanceCount |
Total number of instances across all prototypes |
Indicates the scale of your instancing implementation |
TotalPrimCount |
Overall primitive count in the scene |
Helps understand scene complexity and optimization opportunities |
Interpreting Your Results#
Good instancing implementation shows:
High instance-to-prototype ratio Many instances per prototype indicates effective reuse
Controlled primitive growth Total primitive count grows slower than object count
Memory efficiency Compare memory growth against the same number of ordinary references; each instance still adds overhead
Example interpretation:
This is different than the screenshot above.
PrototypeCount: 5
TotalInstanceCount: 25
TotalPrimCount: 150
This shows 5 prototypes supporting 25 instances—an average of 5 instances per prototype. These counts indicate sharing, but do not by themselves prove a memory or frame-time improvement.
The Bigger Picture: Why This Matters#
While our current factory scene may not show dramatic performance improvements yet, instancing becomes absolutely critical as your digital twin scales. Here’s why establishing these practices now sets you up for success:
Small Scenes vs. Large Facilities#
Current Scene Impact With 10–20 props, measure whether instancing provides a useful benefit for the assets and renderer in use.
Industrial Scale Impact Real manufacturing facilities contain thousands of repetitive elements.
Future Capabilities Enabled#
Proper instancing practices today enable advanced capabilities tomorrow:
Simulation Integration Shared scene structure can support larger simulations; physics costs still require separate measurement
IoT Data Integration Sensor data from hundreds of devices can be efficiently processed
Collaborative Workflows Shared assets can support team workflows; collaboration and performance still depend on the application and scene
Real-time Updates Measure how quickly facility changes appear with the chosen scene structure
The habits you build with these initial props, identifying repetitive elements, converting them to instances, and monitoring performance, become the foundation for managing digital twins at industrial scale. Every safety cone you instance now is practice for the thousands of components you’ll manage in production environments.
Remember: the goal isn’t just to complete this exercise, but to develop the instancing mindset that makes complex digital twins possible. Your facility’s future digital transformation depends on these fundamental optimization practices.