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:

Stage panel showing repeated pallet prims beneath Props with instance icons.

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:

  1. Count Do you have repeated compatible objects? There is no universal minimum count for a benefit.

  2. Complexity Is the object geometrically complex enough to benefit from shared memory?

  3. Stability Will the objects remain largely unchanged once placed?

  4. 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#

  1. Select an object you want to instance

  2. Open the Property panel

Pallet properties with the Instanceable checkbox highlighted.
  1. 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:

  1. Navigate to Developer > Extensions

  2. Search for “USD Stage Stats”

  3. Enable the extension

  4. Close the Extensions window

Opening the Statistics Window#

  1. Open Window > Utilities “Statistics” to open the statistics panel

  2. In the Statistics window, set “Scope to Display” to “USD Stage”

Statistics window with Scope to Display set to USD Stage.

Understanding the Statistics#

The USD Stage statistics display critical instancing metrics:

USD Stage statistics listing scene counts, with instance and prototype metrics highlighted.

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.