Over 11,000 five-star assets

Rated by 85,000+ customers

Supported by 100,000+ forum members

Every asset moderated by Unity

Home
Tools
Utilities
This content is hosted by a third party provider that does not allow video views without acceptance of Targeting Cookies. Please set your cookie preferences for Targeting Cookies to yes if you wish to view videos from these providers.
1/2
InstanceCollector is an asset specifically developed for Unity, designed to dynamically and efficiently collect instance rendering arrays while maintaining main thread performance.
Render pipeline compatibility
The Built-in Render Pipeline is Unity’s default render pipeline. It is a general-purpose render pipeline that has limited options for customization. The Universal Render Pipeline (URP) is a Scriptable Render Pipeline that is quick and easy to customize, and lets you create optimized graphics across a wide range of platforms. The High Definition Render Pipeline (HDRP) is a Scriptable Render Pipeline that lets you create cutting-edge, high-fidelity graphics on high-end platforms.
Unity VersionBuilt-inURPHDRP
2022.3.33f1
Compatible
Compatible
Not compatible
Description

As SRP Batch technology has advanced, Unity's automatic instancing feature is often disabled, leading to performance degradation when rendering a large number of objects. While manual instancing (such as using Graphics.DrawMeshInstanced) offers better performance, it is typically limited to rendering large amounts of single-type objects and lacks support for full-scene optimization.


The unique advantage of InstanceCollector is its ability to optimize GPU instancing across the entire scene. It not only effectively collects instance objects but also leverages Unity's Job System for precise culling calculations, ensuring optimal rendering performance. If the culling is not accurate enough, the performance might even be worse than SRP Batch, highlighting the core strength of InstanceCollector's technology.


Additionally, through the InstanceDataExporter, you can export matrix data for the scene, significantly speeding up scene loading while maintaining the flexibility of dynamic instance collection and rendering.


Why Not Use DrawMeshInstancedIndirect?

Generally speaking, compared to DrawMeshInstanced, DrawMeshInstancedIndirect offers better performance because it gathers matrix data in the compute shader. However, the biggest issue arises when the object count is zero. Since the CPU cannot determine the number of objects, it still calls the rendering API, and it seems like additional data is being sent to the GPU. When there are many different types of objects, this may lead to a performance drop. Therefore, to handle instance collections for multiple object types, we choose to use DrawMeshInstanced along with culling via the job system.

Technical details
  1. Precise per-instance culling.
  2. Dynamic instance collection using the Job System, without occupying the main thread’s resources.
  3. Supports multiple types of instance objects, and even full-scene GPU instancing.
  4. Provides a matrix array output tool to speed up scene loading and reduce memory usage.
  5. Without using SSBO, it has better cross-platform compatibility.
  6. For hardware that doesn't support GPU instancing, the rendering process will fall back to using.
  7. Simple instance object setup process (just add the Instancer script and enable "Enable GPU Instancing" in the material).
  8. Compatible with SRP Batcher.
  9. Customizable maximum visible object count for each type, adjustable based on project memory and performance requirements.
  10. Support URP and Built-in render pipeline.

InstanceCollector

(not enough ratings)
11 users have favourite this asset
(11)
$40
Seat
1
Updated price and taxes/VAT calculated at checkout
Refund policy
This asset is covered by the Unity Asset Store Refund Policy. Please see section 2.9.3 of the EULA for details.
Secure checkout:
Supported payment methods: Visa, Mastercard, Maestro, Paypal, Amex
License type
File size
50.0 MB
Latest version
1.1
Latest release date
Jan 22, 2025
Original Unity version
2022.3.33
Quality assets
Over 11,000 five-star assets
Trusted
Rated by 85,000+ customers
Community support
Supported by 100,000+ forum members
Unity logo
Language
Feedback
Partners Program
Partners
USD
EUR
Copyright © 2025 Unity Technologies
All prices are exclusive of tax
USD
EUR