GPU Instancer Logo


Change Log



v1.8.1 - submitted Jan 23, 2024


  • Changed: Detail Manager performance improvements for distant terrains where no details are visible
  • Changed: When prototype reference is lost the Auto. Add/Remove Instances feature will show a warning
  • Changed: Minimum number for instance count warning is increased to 100
  • Fixed: Incorrect destroy material call when using custom material for detail textures
  • Fixed: MapMagic2 integration NullReferenceException (GPUI_MapMagic2_Integration package needs to be re-imported)
  • Fixed: MapMagic integration undefined runInThreads error (GPUI_MapMagic_Integration package needs to be re-imported)
  • Fixed: Alpha clipping not working with some Nature Manufacture URP shaders
  • Fixed: Shader Graph "undeclared identifier unity_MatrixPreviousM" error when using built-in render pipeline
  • Fixed: LOD Cross-fading not working on URP

v1.8.0 - submitted Sep 21, 2023


  • New: Added URP LOD Cross Fade subgraph and a sample shader
  • Changed: URP render scale and shadow distance values are now calculated from Quality Settings render pipeline asset instead of the Graphics Settings
  • Changed: Added Occlusion Culling warning for URP when HDR is disabled
  • Changed: Replaced obsolete masterTextureLimit with globalTextureMipmapLimit for Unity versions 2022.2 or higher
  • Fixed: Occlusion Generator RenderTexture memory leak
  • Fixed: Material memory leak
  • Fixed: Occlusion Generator mip level calculation error
  • Fixed: DetermineTreePrototypeType method error when material reference is null
  • Fixed: Removed unnecessary variant prefab choice on Prefab Manager for model prefab variants
  • Fixed: Instances are rendering blurry on Unity 2023 HDRP when Motion Vectors is enabled

v1.7.7 - submitted May 10, 2023


  • Fixed: Crash caused by previews on Unity 2022.2 when using Forward+ rendering mode

v1.7.6 - submitted Jan 15, 2023


  • New: Added GetVariationBuffer API method to access variation ComputeBuffer
  • Changed: Detail Manager will show an error message when Detail Scatter Mode is set to Coverage Mode
  • Fixed: Error when adding billboard to objects with LOD groups with more than 4 levels
  • Fixed: Error when destroying object within Modification Collider
  • Fixed: Tree Manager uses the original prefab when adding prefab variation
  • Fixed: Detail Manager spatial partitioning error when detail resolution is higher than the terrain size

v1.7.5 - submitted Nov 02, 2022


  • Fixed: Files with .compute extension without kernel causing "Assertion failed" error messages during build
  • Fixed: Auto. converted URP SpeedTree7 shader alpha test not working

v1.7.4 - submitted Sep 27, 2022


  • New: Shadows Only mode support
  • New: Added Terrain Normal Effect setting for Detail Prototypes
  • Fixed: Auto. shader conversion syntax error when using Instanced Property with ASE shaders
  • Fixed: First run in editor fails after script compilation when Reload Scene setting is off

v1.7.3 - submitted Jun 21, 2022


  • New: Added API methods to release Compute Buffers manually
  • New: Added API methods to support NativeArrays for prefab variations
  • Changed: Managers will be disabled when Unity is run with -nographics command line argument
  • Fixed: LOD shadows are not shown correctly when set to None
  • Fixed: Null reference exception when render pipeline asset is not set for URP
  • Fixed: TreeProxy_GPUI shader error on Metal
  • Fixed: ChangeMaterial API method error when setting material for meshes with multiple submeshes
  • Fixed: IndexOutOfRangeException when using 7 or more levels on an LOD Group
  • Fixed: Auto converted URP SpeedTree8 shader does not use alpha test
  • Fixed: When original material is used with LOD cross-fade, objects disappear in edit mode

v1.7.2 - submitted Mar 11, 2022


  • New: LOD cross fade support for Android
  • New: LOD cross fade support for URP 10.x and later (shaders require to be compatible with LOD cross-fading by using the LODDitheringTransition method)
  • New: Soft Occlusion, Tree Creator and Built-in Billboard shaders now support LOD cross-fading
  • Changed: Added error message for LOD Groups in child GameObjects of a prefab
  • Fixed: AddPrefabInstances method not calling the setup method for instances
  • Fixed: Matrix4x4FromString method causing errors when the computers default language is using a different decimal separator
  • Fixed: Editor exception when Tree Manager has no Terrains defined

v1.7.1 - submitted Jan 24, 2022


  • New: Better Lit Shader support
  • New: Better Shaders support
  • New: MapMagic 2 integration editor simulation support for Terrain details
  • New: MapMagic 2 integration floating origin support
  • New: Added menu item option to add Detail Managers under Terrain Game Objects
  • New: Added Select Shader button when there is an incompatible shader warning under prototype settings
  • New: Added temporary menu item to fix Unity 2021.2.8 shader compiler bug
  • New: Added help menu items to access online documentation
  • New: Added LOD cross-fading support for Tree Soft Occlusion shaders
  • New: Added AddPrototoypeToManager API method to add pre-defined prototypes to Prefab Manager
  • Changed: Auto converted shaders from Packages folder will be created under GPUInstancer/Shaders folder instead of PrototypeData
  • Changed: Prototype LOD Settings can now be edited when multiple prototypes are selected
  • Fixed: HDRP LOD Cross Fade does not transition smoothly
  • Fixed: When a prototype does not have an LOD group but have a billboard, cross fading is not applied
  • Fixed: Tree Manager edit prototype prefab button does not edit the prototype on the additional terrains
  • Fixed: Generate Billboard toggle is not applied when editing multiple prototypes

v1.7.0 - submitted Nov 29, 2021


  • New: 2D Billboard generator support for URP and HDRP 10.x and later
  • Changed: When a shader is missing GPUI instancing setup, an error shader will be used and an error will be shown on the console instead of a warning
  • Changed: When Shader Graph shader is missing GPUI instancing setup, a link to the shader setup documentation will show on the prototype settings with an error message
  • Changed: Prototype Billboard Settings can now be edited when multiple prototypes are selected
  • Changed: Automatic shader conversion processes shader code much faster now
  • Fixed: "Importer(NativeFormatImporter) generated inconsistent result for asset" warning when a prototype is removed from Tree/Detail Manager
  • Fixed: Automatic shader conversion causing editor to stuck with message "Application.UpdateScene"
  • Fixed: Missing Tree Proxy shader on SRP causing Argument null exception when using SpeedTree shader
  • Fixed: SpeedTree prototypes does not take billboard distance setting into consideration
  • Fixed: Test Both eyes for VR Occ. Culling not working on Single Pass Instanced rendering mode and on SRP with Multi Pass rendering mode

v1.6.0 - submitted Nov 08, 2021


  • New: Material Variations support on Android
  • New: Option to apply rotation and scale changes for Floating Origin feature
  • Changed: Pre-set gpui_InstanceID inside shader setup function for better performance while using material variations
  • Changed: Added progress bar and cancel button to Prefab Replacer
  • Changed: Occlusion Culling on HDRP now gets the depth from the texture array directly instead of copying it to a temporary texture
  • Fixed: Detail Manager simulator still runs after the manager is disabled when keep simulator live option is active
  • Fixed: Material variations does not effect shadow passes
  • Fixed: Compute shader method typo
  • Fixed: Sometimes Managers Awake method is not being called at Editor Mode causing null reference errors
  • Fixed: GLES3 compute shader maximum UAV warning
  • Fixed: GLES3 incorrect shadow instance count calculation
  • Fixed: GLES3 shadows only shader not working
  • Fixed: SPDTree shader duplicate instancing pragma warning
  • Fixed: PS5 invalid compute buffer handle error
  • Fixed: HDRP Occlusion Culling error "Texture creation failed. 'None' is not supported"

v1.5.4 - submitted Sep 13, 2021


  • New: Added Rendering Layer Mask support
  • Fixed: NullReferenceException when adding an instance if the buffer size is zero during initialization and the Auto. Update Transform Data is enabled
  • Fixed: Editor Layout error after dialog boxes are showns
  • Fixed: LOD Color Debugger changes original materials color when Use Original Material When Instanced is enabled

v1.5.3 - submitted Jul 14, 2021


  • New: VR Single Pass Instanced rendering mode support
  • Changed: Occlusion Culling Type Preference setting is now obsolete, GPUI will always use Compute Shaders for obtaining Depth Texture
  • Fixed: VR Occlusion Culling "Cannot create GPUI HiZ Depth Texture for occlusion culling: Screen size is too small." error
  • Fixed: HDRP shader conversion not working when include pragmas are inside shader passes
  • Fixed: VR Occlusion culling not working when test both eyes setting is enabled on SRP
  • Fixed: Editor Simulator not loading the correct SceneView camera in Unity 2021.2

v1.5.2 - submitted Jun 30, 2021


  • New: HDRP LOD Cross Fade support
  • New: Prefab Manager can now show preview images of prototypes that do not have gameObject references
  • New: Multiple shaders and materials can now be selected for setup using the context menu
  • New: Added "Use Original Material When Instanced" Preference option
  • Fixed: Camera half angle not being calculated correctly when auto select camera is disabled
  • Fixed: Detail Manager threads not cleared when manager is disabled before initialization finishes
  • Fixed: Generate Bilboard GUI errors
  • Fixed: Prefab Manager throwing errors when the prototype does not have a prefab reference
  • Fixed: ClonePrototypeAtRuntime API method unnecessary initialization

v1.5.1 - submitted Jun 12, 2021


  • Fixed: Build error 'The name 'keepSimulationLive' does not exist in the current context'

v1.5.0 - submitted Jun 03, 2021


  • New: Added Package Importer system which automatically imports required GPUI packages depending on the UPM packages and script defines
  • New: Added ClonePrototypeAtRuntime API method to create a copy of a prototype at runtime
  • New: Detail Manager can now run simulation automatically and update changes without manually pressing the Start Simulation button
  • New: Added "Remove From List" button to Prefab Manager to remove the prototype from the manager without deleting its' data
  • Changed: InstanceDataArray is now obsolete, InstanceDataNativeArray will be used
  • Changed: Auto. Update Transform Data feature now runs in Jobs
  • Changed: In editor mode Detail Manager will render terrain details by default
  • Changed: Renamed NUM_THREADS to GPUI_THREADS because it was causing compile errors on PSSL
  • Fixed: Editor Layout error after dialog boxes are shown

v1.4.6 - submitted Apr 28, 2021


  • Fixed: Occlusion culling depth texture format error on HDRP
  • Fixed: PrefabInstancing demo scene out of bounds error

v1.4.5 - submitted Mar 23, 2021


  • New: Receive Shadows option on Mesh Renderers of a prefab is taken into consideration while making the DrawMeshInstancedIndirect calls
  • New: Added ChangeLODShadow API method to edit LOD shadows at editor mode and/or runtime
  • New: Added "autoIncreaseBufferSize" optional parameter to AddPrefabInstance API method
  • Changed: Improved editor performance of managers by significantly reducing the amount of text read calls made by auto-shader conversion
  • Fixed: GPUInstancerPrefab component serializing state
  • Fixed: Map Magic 2 integration IMultiBiome compile error
  • Fixed: Unnecessary draw calls are being made for disabled LOD shadows
  • Fixed: SetDataPartial setting data more than once in some cases

v1.4.4 - submitted Jan 14, 2021


  • New: Added foliage support packages for HDRP 10 and URP 10
  • New: Added demo override packages that support HDRP 10 and URP 10
  • Fixed: Occlusion culling depth texture not scaling correctly when render scale is not 1 on URP
  • Fixed: CopyTexture format incompatibility issue for HDRP 10
  • Fixed: AddModifyTerrainsRuntimeDemo generated terrains now use the correct terrain shader in URP
  • Changed: HDRP 10 and URP 10 GPUI shaders are remade with ShaderGraph 10

v1.4.3 - submitted Oct 18, 2020


  • New: Added a sub graph and a demo scene for material variations with Shader Graph
  • Fixed: Instances are not rendered when editor is paused
  • Fixed: Map Magic 2 integration can not import objects from graphs with biomes
  • Fixed: Shadow distance is now correctly read from the Universal Render Pipeline Asset in URP.
  • Fixed: XR and VR libraries are now checked for and the VR logic defaults to non-VR if both libraries are not present.

v1.4.2 - submitted Jul 6, 2020


  • New: Multiple Terrains support for Tree Manager
  • New: Map Magic 2 integration
  • New: Added API methods to set buffer data using NativeArrays
  • New: Added Assembly Definition files
  • Changed: MapMagic integration files added to an extra unitypackage which can be extracted on demand
  • Fixed: When generating new prototype data Tree and Detail manager overriding existing one if the file names are the same

v1.4.1 - submitted May 3, 2020


  • New: ShaderGraph Node for adding GPU Instancer setup on newer Shader Graph versions
  • Changed: Increased Occlusion Cull Offset max value to 0.1
  • Changed: When GPUInstancer folder is moved under another folder (e.g. Plugins) new files will be created at the new location instead of Assets/GPUInstancer
  • Changed: LOD cross-fade feature is disabled for HDRP and URP (should fix Tree Manager sometimes not showing trees in HDRP)
  • Fixed: Settings file not being loaded when an API call is made before a GPUI Manager is initialized (Should also fix some Demo scenes getting null pointer exception when first loaded in newer Unity versions)
  • Fixed: Occlusin culling bounding box depth value mapped to -1,1 while it should be 0,1 (Many thanks to Dmitry Nozhnin for pointing out this issue!) - This now results in more but still accurate culling
  • Fixed: SRP auto-shader conversion for custom shaders updating include paths incorrectly
  • Fixed: Auto-converted shaders being updated after original shader is modified when auto-shader conversion is disabled
  • Fixed: DefineGameObjectAsPrefabPrototypeAtRuntime API null pointer exception when attachScript parameter is false
  • Fixed: Billboard Generator creating faulty billboard atlasses when texture resolution in project quality settings is set to a value other than "Full Res"
  • Fixed: LOD Color Debugger and Draw Call Debugger not showing colors on SRP

v1.4.0 - submitted Mar 2, 2020


  • New: Added HDRP foliage shader support
  • New: Added an override package containing the Universal Render Pipeline versions of GPUI demo scenes
  • New: Added an override package containing the High Defition Render Pipeline versions of GPUI demo scenes
  • New: Added Universal Render Pipeline support for SpeedTree 7 and 8 trees
  • New: Added Update Simulation On Change option to update terrain detail simulation when terrain is edited in Editor Mode
  • New: Added Assembly Definition files
  • Changed: Detail Manager now logs a relevant error message if the required pipeline version of the GPUI foliage shader is missing
  • Changed: DefineAndAddVariationFromArray now allows to use an array smaller than the buffer size
  • Fixed: Infinite import loop issue when using Unity 2019.3 or higher
  • Fixed: Obsolete virtualRealitySupported API warning
  • Fixed: URP foliage shader culling back of vegetation quads

v1.3.0 - submitted Dec 6, 2019


  • New: Added support for Universal Render Pipeline
  • New: Foliage Shader Support for URP
  • Fixed: Editor layout issues in Unity 2019.3

v1.2.7 - submitted Dec 3, 2019


  • Changed: Initialize in threads default value set to false for Detail Manager (causing issues for some setups)
  • Fixed: Occasional removal warnings when quiting the game while Auto Add/Remove Instances feature is enabled
  • Fixed: Gaia integration spawner error for Pro version
  • Fixed: Pink terrain on AddModifyTerrainsRuntime demo on new Unity versions

v1.2.6 - submitted Nov 12, 2019


  • New: Added an option to keep simulation live for the Detail Manager in Editor mode
  • New: Added a version of the Foliage shader that uses Lambert Lighting
  • Fixed: Detail simulation not working in the HDRP 6.9.0 in Editor mode
  • Fixed: Shader conversion removing UnityCG.cginc reference within CGINCLUDE

v1.2.5 - submitted Oct 9, 2019


  • Fixed: MapMagic integration build error

v1.2.4 - submitted Sep 23, 2019


  • Changed: Added unassigned value and model prefab warnings to MapMagic integration
  • Fixed: Invalid Cast exception when using multiple variations with different types
  • Fixed: Out of range exception when removing a destroyed object from prefab manager
  • Fixed: Missing profiler endsample error when occlusion culling is disabled

v1.2.3 - submitted Sep 3, 2019


  • New: Added option to disable light probe usage
  • Changed: Auto. Add/Remove Instances freature now also works with enabling/disabling GameObjects at runtime
  • Changed: Prefab Manager API methods GC optimization
  • Fixed: Dither Crossfade errors on 2019.2
  • Fixed: Compute shader errors on the new HDRP versions

v1.2.2 - submitted Aug 1, 2019


  • New: Added Occlusion Cull Offset setting to prototypes
  • New: Added Occlusion Cull Accuracy setting with 3 levels of accuracy to prototypes
  • New: Added option to increase custom shadow distance farther than the shadow distance of the Quality settings
  • Changed: Auto Add/Remove feature now also initializes Prefab Manager when a new instance is added before initialization
  • Changed: DefineGameObjectAsPrefabPrototypeAtRuntime method sets the Prefab Manager's defult minCullingDistance to the defined prototype
  • Changed: Improvements for occlusion culling mip calculations
  • Fixed: Move component error when Terrain is a prefab
  • Fixed: HiZOcclusionGenerator and TreeProxy shaders not being included in builds automatically

v1.2.1 - submitted Jul 23, 2019


  • New: Added settings to edit GPU max. thread counts and max. compute buffers
  • New: Added settings to switch between Occlusion culling modes
  • New: Added Draw Call Count info on the Registered Instances section on the manager editors
  • New: Option to not to re-enable mesh renderers when prefab manager is disabled
  • New: Option to set layer mask for ignoring renderers on managers
  • Changed: C# and HLSL code refactoring for better multi-platform support
  • Changed: PrefabsWithoutGameObjects demo script to exemplify usage of GPUI API for partial buffer update
  • Changed: Default max compute shader thread group counts for each platform
  • Fixed: Incorrect occlusion culling mip map calculation
  • Fixed: Incorrect occlusion culling on Metal
  • Fixed: SetLODBias API index out of bounds exception when using more than 4 LOD levels
  • Fixed: Prefab editor simulation not working when mesh renderers are disabled
  • Fixed: UpdateVisibilityBufferWithMatrix4x4Array API can not find runtime data error when instance count is zero
  • Fixed: Shader code to show no LOD cross fade warnings
  • Fixed: Compute Shader code to show no temp register warnings and uninitialized variable warnings on DX11 and GLCore

v1.2.0 - submitted Jul 9, 2019


  • New: Occlusion Culling now works in LWRP and HDRP
  • New: Added Occlusion Culling debugger with overlaying option
  • New: Added LWRP and HDRP support for instancing simulation in the Editor
  • New: Added setting option to disable auto shader conversion and auto shader variation handling
  • New: Added DrawCallColorDebugger
  • Changed: Occlusion Culling performance improvements
  • Changed: Added error messages for materials with missing shaders
  • Changed: Added error messages for detail and tree prototypes with missing prefabs
  • Fixed: Prototype ordering error when same terrain used in multiple scenes
  • Fixed: GPUIStandardInclude.cginc Unity 5.6.6-7 compatibility issues
  • Fixed: GPUInstancerPrefabRuntimeHandler error when using multiple prefab managers in multiple scenes with the same prototypes

v1.1.4 - submitted Jun 12, 2019


  • New: Context menu item to setup materials for GPUI support from editor without using managers
  • Changed: Added set renderers enabled/disabled option for enable/disable instancing API methods
  • Changed: UpdateVisibilityBufferWithMatrix4x4Array can now optionally be used for uploading partial data to buffers
  • Changed: Variation buffers can now be defined after the Prefab Manager is initialized
  • Changed: UpdateVariationFromArray can now optionally be used for uploading partial data to buffers
  • Changed: Color variation shader example edited to work in all platforms
  • Fixed: Auto. Add/Remove does not modify variation buffer sizes

v1.1.3 - submitted May 7, 2019


  • New: Context menu item to setup shaders for GPUI support from editor without using managers
  • New: API method to change mesh at runtime
  • New: API method to run auto shader conversion through editor scripts
  • New: API methods to start/stop GPUI rendering simulation in editor mode
  • New: API method to add shader variants through editor scripts
  • New: Added Min Distance culling option
  • New: Added Bounds Size Offset option
  • Changed: TerrainData instanceID check changed to GUID to not to update SOs frequently
  • Changed: Duplicated prefabs are now added to the Managers as seperate prototypes
  • Fixed: Instance Remover wrong position calculation with box colliders
  • Fixed: Scene Prefab Importer window error with child transforms

v1.1.2 - submitted Apr 26, 2019


  • New: API method to change materials at runtime
  • New: API method to change instance counts at runtime
  • New: API method to get the instance data array
  • New: API method to get the prototype list of the GPUI manager
  • Changed: Optimization for Auto. Add/Remove instances feature
  • Changed: Optimization for runtime API methods
  • Fixed: Instance count being ignored on Compute Shader visibility calculations
  • Fixed: Unity 2019.1 obsolete PreferenceItem warning fix
  • Fixed: Compile error with AssetDatabase reference

v1.1.1 - submitted Apr 22, 2019


  • New: Added LWRP support for the GPUI Foliage Shader
  • New: Added ShaderGraph GPUI Setup node (ShaderGraph v4.x only)
  • New: Added a new overload for the InitializeGPUInstancer API method where you can initialize a specific prefab prototype
  • New: Added Prefab Instance Serialization advanced action, to render prefab instances without GameObjects by saving transform data without aditional coding (Unty 2018.1 and above only)
  • New: Added experimental Simulation feature to render instances in Edit Mode for disabled mesh renderers and serialized prefab instances
  • New: Added LOD color debugger tool to visualize prototype LOD levels
  • Changed: DrawMeshInstancedIndirect argsBuffer stride size is fixed to uint and the count is set according to the renderer amount
  • Changed: InitializeWithMatrix4x4Array API method so that it is not required to call the InitializeGPUInstancer before calling this method
  • Changed: Optimization for Prefab Manager Editor which will no longer re-enable renderers while exiting Play Mode
  • Changed: Nested Prefabs Optimization for Scene Prefab Importer tool
  • Fixed: DefineGameObjectAsPrefabPrototypeAtRuntime API method null reference exception when the manager is created at runtime
  • Fixed: HiZ Occlusion Generator controls for stereoTargetEye as "both eyes" when VR is enabled only
  • Fixed: Compute Buffer not set error when using 5 or more LOD levels

v1.1.0 - submitted Mar 22, 2019


  • New: Occlusion culling VR support (both single pass and multi pass)
  • New: API method to change LOD Bias values for prototypes at runtime
  • New: Setting to edit instancing bounds size
  • New: Integration to version control systems like Perforce which uses readonly files
  • New: Options to disable scaling on Tree prototypes
  • New: Added custom depth normals shader
  • New: MapMagic integration Biome support
  • Changed: Modified foliage shader to use the custom depth normals shader
  • Fixed: GLES shadow rendering error
  • Fixed: Occlusion culling disabling DepthNormals on the camera
  • Fixed: Null pointer error when Prefab Manager manager is disabled with Auto. Add/Remove Instances enabled
  • Fixed: Prefab Manager not creating Proxy for SpeedTree8
  • Fixed: Map Magic integration GameObject not being saved in scene when imported
  • Fixed: Detail Manager not finalizing initialization when the activeThreads list is not cleared

v1.0.2 - submitted Feb 25, 2019


  • Changed: LOD cross-fading feature is optimized to run according to shader feature and graphics API
  • Changed: OpenGL compute shader max thread count changed to 512
  • Fixed: OpenGL compute shader matrix type error
  • Fixed: OpenGL not rendering instances with shaders that has cross-fading enabled
  • Fixed: DrawMesh error when there are more materials than the number of submeshes on the renderer
  • Fixed: SpeedTree 8 shader import dialog showing multiple times during prototype generation

v1.0.1 - submitted Feb 22, 2019


  • Fixed: Settings showing wrong labels for prefab options

v1.0.0 - submitted Feb 20, 2019


  • New: SpeedTree8 support with top-down billboards
  • New: Editor multiple add/edit/remove option for Prototypes
  • New: Edit function to Tree and Detail prototypes to change the prefabs
  • New: GPU Instancer Preferences to personalize various editor behaviours
  • New: Auto-update system for upgrading from previous GPUI versions
  • New: Auto. generated Shader Variant Collection for including used shader variants in builds automatically
  • New: Auto. Floating Origin handling option
  • New: Instance count warning system for Prefab Managers
  • New: CameraHandler component to manage camera switching automatically
  • New: Text-Mode for prototype lists
  • New: Custom Preview texture drawing system for prototypes
  • Changed: Shaders moved out of Resources folder to reduce the amount of shaders included in builds
  • Changed: Included shaders are modified according to new folder structure
  • Changed: Tree Manager coroutine initialization is now optional
  • Changed: Manager Editor sections changed to Foldouts
  • Changed: Reduced asset package size considerably by optimizing demo assets
  • Fixed: Dark preview icons for Unity 2018.3 versions on Linear color space
  • Fixed: Tree Manager showing trees in wrong positions when terrain position is changed during initialization
  • Fixed: Show Rendered Amount GUI not showing zero instance count when draw calls are disabled
  • Fixed: Prefab manager adding incorrect rigidbodies to instances when disabled

v0.9.9 - submitted Jan 16, 2019


  • New: Threading option for Detail Manager initialization
  • New: Option to disable Mesh Renderers on prefabs to increase initialization speed
  • New: Prefab streaming system with PrefabListRuntimeHandler component
  • New: Added an option to all billboards to face camera position (ignoring camera View Matrix rotations, ideal for VR)
  • New: Min. Culling Distance option per prototype
  • New: Option to filter prototypes when removing instances with colliders or bounds
  • New: MapMagic Integration single Prefab Manager option
  • New: MapMagic Integration Threading option for Prefabs when using single Prefab Manager with disabled Mesh Renderers
  • New: Added GetDetailMapData/SetDetailMapData API methods for Detail Manager
  • Changed: SetGlobalPositionOffset null checks and warnings added
  • Changed: AddPrefabInstance method optimization when automatically increasing buffer size
  • Fixed: Tree Proxy not being created when using no-GameObject workflow
  • Fixed: Tree Proxy not being cleared when proxy GameObject is destroyed
  • Fixed: Built-in shader source code not recognized without updating material when first added to project
  • Fixed: Prototype preview icon lighting problem for Unity 2017 on Linear color space
  • Fixed: Cross-fade method error on shaders when building in Unity 5.6 versions
  • Fixed: Possible memory leak on repeated initialization for visibility buffer
  • Fixed: SetGlobalPositionOffset not updating spatial partitions on Detail Manager
  • Fixed: GPUInstancerInclude PSSL dot method casting error when building for PS4

v0.9.8 - submitted Dec 12, 2018


  • New: Managers can now continue rendering in Scene View camera while the editor is paused
  • New: All managers and tools now have "Wiki" buttons that will take you to their respective documentation pages
  • New: Tree Managers now have an option to disable the random rotation of trees on Unity terrains
  • Changed: Automatic shader conversion update for LWRP/HDRP 4.3.0 version
  • Changed: Menu items moved under Tools
  • Changed: The way prototype previews are displayed
  • Changed: The GPUI Soft Occlusion Shader is renewed to match the original Nature/Soft Occlusion Shaders better
  • Changed: Billboard Generator brightness option has been modified to match the original collors better when brightening
  • Fixed: GPUIStandardInclude.cginc errors on some Unity 2017.2 versions
  • Fixed: Standard shader Cutout variant not showing in build
  • Fixed: Meshes with a single submesh but multiple materials causing issues in rendering
  • Fixed: LOD cross-fading results changing with time scale

v0.9.7 - submitted Nov 27, 2018


  • New: Added Render With Selected Camera option to limit rendering to one camera
  • New: Added Detail Texture Layer option to Detail Manager
  • New: Added support for the internal "Standard (Roughness setup)" shader
  • New: Added option to use frustum and occlusion culling for shadows
  • New: Added UpdateVariation API method to update variation buffer at runtime
  • New: Added a new demo scene that showcases the use of custom compute shaders to extend GPUI
  • Changed: Managers now show the Unity Archive link to download built-in shaders, if necessary
  • Changed: Improved the CPU times when handling transform changes
  • Fixed: Billboards not using the original prefab's Layer
  • Fixed: SpeedTrees without BillboardRenderer not showing billboard distance options
  • Fixed: Standard shader error for Unity 2017.3 versions
  • Fixed: Billboard renderer causing a minor artifact in forward rendering and single-pass VR when there is a CommandBuffer using the depth texture
  • Fixed: A bug that would prevent builds from Unity 2018.3 beta versions

v0.9.6 - submitted Nov 16, 2018


  • New: Added a grass mower model and grass mowing mode for the detail instancing scene
  • New: Added shadow casting option for custom billboards
  • Fixed: Possible initialization problems when having multiple prototypes with no-gameobjects
  • Fixed: Manager showing as initialized before gpu buffers are generated
  • Fixed: MapMagic integration missing min. culling distance setting

v0.9.5 - submitted Nov 15, 2018


  • New: Nested-Prefabs support (Unity 2018.3 and later)
  • New: Tree instancing demo scene
  • New: Optional minimum culling distance setting
  • New: Shadow Distance option per prototype
  • New: Shadow LOD options
  • New: Clear Shader Bindings menu item
  • New: Prefab Replacer tool for easily replacing GameObjects in scene with prefab instances
  • New: Brightness setting for baked billboard textures
  • New: Added a cutoff override option for the billboard generator
  • Changed: Shader conversion automatically disables other procedural instancing setups to enable GPUI support for various shader assets
  • Changed: Internal shaders are now marked hidden to remove clutter
  • Fixed: An error in 2018.3 Beta where an issue with the way DateTime worked caused the managers to re-convert shaders
  • Fixed: Billboard normal atlas dilation causing bright outlines
  • Fixed: TreeCreator billboard material properties and reversed normals issue
  • Fixed: Shader conversion error when project is updated while the Manager is running in editor
  • Fixed: Wrong bounds calculation when first mesh in a prefab is scaled
  • Fixed: Standard (Specular) shader now works with LOD cross-fading

v0.9.4 - submitted Nov 07, 2018


  • New: Tree instantiation calculations are made in Compute Shaders for better performance
  • Changed: Automatically create GPUI supported version for custom billboard shader
  • Fixed: Map Magic integration not adding Tree Manager for pinned terrains

v0.9.3 - released Nov 06, 2018


  • New: API Method to remove instances inside a given Bounds or Collider
  • New: Added grass removal function to Detail Instancing Demo
  • New: Added Instance Remover script which removes instances based on colliders of the object when initialized
  • New: Support for Unity 2018.3 prefab system
  • New: Added custom billboard option to billboard generator
  • New: Added billboard extentions for custom billboard generators
  • Changed: Added forceNew parameter to InitializeGPUInstancer API method
  • Changed: Map Magic integration Editor max prefab distance increased to 10000
  • Changed: Added SetCamera method to Map Magic integration class
  • Fixed: Can not find manager warning when instances were initialized before the manager with "Auto. Add/Remove Instances" option enabled
  • Fixed: Map Magic integration Editor not showing prototypes when there are only Trees
  • Fixed: Map Magic integration Editor not updating shader and billboard bindings

v0.9.2 - released Oct 26, 2018


  • New: API Method to define prototypes for procedurally generated GameObjects without prefabs at runtime
  • New: API Method to add instances to a prototype from a list of GameObjects at runtime
  • New: API Method to remove prototype definition on the manager at runtime
  • New: Demo Scene showcasing how to add-remove procedurally generated GameObjects on the Prefab Manager
  • New: Tree Creator billboards now have their own shader that supports their translucency color
  • Changed: Enable Auto. Update Transform by default if there is rigidbody on prefab
  • Changed: Do not create runtimedata when there are no MeshRenderers
  • Changed: Prefab Manager max distance editor limit increased to 10.000
  • Changed: Memory optimization on Tree Manager initialization
  • Changed: Improved SpeedTree billboards
  • Fixed: UpdateVariationFromArray invalid cast exception for multiple variation with different types
  • Fixed: Duplicate Hi-Z Generator components when SetCamera is called for the same camera multiple times
  • Fixed: Tree Manager not calculating prefab scale
  • Fixed: Missing reference exception when disabling manager for procedurally generated GameObjects
  • Fixed: Prefab instances duplicating when dropped on the manager multiple times
  • Fixed: Forward rendering GPUIStandardInclude.cginc fog error for Unity 2018.2.1 and later versions
  • Fixed: Billboard mesh showing wrong atlas frames on some angles (Requires rebake of previous billboards)
  • Fixed: Billboard colors and lighting corrected for linear color space
  • Fixed: Tree Creator trees windzones now work correctly
  • Fixed: Tree Creator billboards crossfading now works correctly

v0.9.1 - released Oct 12, 2018


  • New: Added support for the High Definition Render Pipeline (HDRP)
  • New: Added support for the Lightweight Render Pipeline (LWRP)
  • New: Automatic shader conversion now also works for SRP shaders
  • New: Added option to use custom Health/Dry noise texture for each detail prototype
  • Changed: Further optimized Detail Manager memory usage for Android
  • Fixed: Automatic shader conversion now creates shaders in an internal folder if the original shader is in "Packages" (Package Manager)
  • Fixed: Error on shader conversion for ShaderGraphs
  • Fixed: GPUIStandardInclude.cginc errors on some Unity 2017 versions

v0.9.0 - released Oct 05, 2018


  • New: Tree Manager for Unity terrain trees
  • New: Speed Tree support with wind animations
  • New: Automatic Billboard generation system (designed and tested for Unity terrain trees)
  • New: Gaia integration
  • New: "Auto. Add/Remove Instances" option for Prefab Prototypes
  • New: "Auto. Update Transform Data" option for Prefab Prototypes
  • New: API Methods to Add-Remove-Update prefab instances without instantiating GameObjects (Demo scene included)
  • New: API Method to offset transform positions of all instances
  • New: Shadow rendering performance improvements and LOD settings
  • New: LOD cross-fade support (with animation or fade transition width)
  • New: LOD bias adjustments
  • New: Prefab Scene Importer Tool
  • New: Custom vertex color wind animation support for Soft Occlusion Tree shaders
  • New: Limited support for Tree Creator trees
  • New: Added mobile version of the Prefab Instancing Demo scene with mobile controllers
  • Changed: Prefab instances in the scene can now also be added to the Prefab Manager to create prototypes
  • Changed: Furter optimized update functions to reduce overhead on loops
  • Changed: Mesh Renderer "Cast Shadow" option is taken into consideration when rendering shadows
  • Changed: Various editor improvements for ease of use
  • Fixed: Vulkan API detail rendering compute shader error and UAV count warning
  • Fixed: Vulkan API Foliage shader blinking issue
  • Fixed: Vulkan API not rendering prefabs with more than 3 LOD levels
  • Fixed: Added Standard shader vairants (Cutout, Transparent, Fade) for instanced shader features not compiling in builds
  • Fixed: Missing AddRemoveInstancesDemo scene prefab references

v0.8.3 - released Aug 07, 2018


  • New: Added Detail Density for Detail Manager
  • Fixed: SetCamera now does not add the Occlusion Culling buffer to the camera if Occlusion Culling is turned off in the manager
  • Fixed: Grass initialization kernel position 0,0 random position and rotation generation problem
  • Fixed: Prototype list null check on initialization and registered prefabs count check on register

v0.8.2 - released Jul 18, 2018


  • Fixed: Multiple fixes and improvements for OpenGL ES 3.1 and Vulkan API on Android target platforms
  • Fixed: Auto custom shader conversion DateTime error when updating project

v0.8.1 - released Jul 03, 2018


  • New: GPU Occlusion Culling (for non-VR platforms)
  • New: Map Magic integration
  • New: Max LOD levels increased to 8
  • New: Detail initialization is now faster
  • New: Detail spatial partitioning memory and performance optimizations
  • New: Auto-converted versions of custom shaders are now automatically updated when the originals are modified
  • New: Option to use original shaders for shadow casters on prototypes that fall outside the view frustum
  • New: Layers are now taken into consideration with instancing
  • New: Warning messages in manager editor windows
  • New: Terrain is now set automatically if Detail Manager is added on the terrain GameObject
  • New: Additional API methods added to manage registered prefabs
  • New: Out of bounds check for prefab API methods
  • New: Added scripting define symbol: GPU_INSTANCER
  • Changed: Detail simulation improvements, works with frustum culling
  • Changed: Max detail viewing distance increased to 2500
  • Changed: LOD calculations now better reflects Unity LOD Group settings
  • Changed: Custom editor properties are reordered and grouped
  • Changed: Terrain Proxy will not be added if the manager is already added to terrain
  • Changed: Removed terrainData reference on TerrainSettings for terrains that are generated from scripts
  • Changed: PrefabInstancingDemoScene now has its own shader for the Asteroid Haze, which is also instanced as a prefab prototype
  • Fixed: Prefab Manager Custom Editor null reference exception when manager is disabled at runtime
  • Fixed: TerrainProxy DestroyImmediate multiple times error when detail manager is added under the terrain GameObject
  • Fixed: Built-in shader can not be instanced warning loop. Now shows error in custom editor when instanced shader was not able to be created, and throws a warning in play mode
  • Fixed: Multiple fixes for some iOS, tvOS and macOSX platforms using the Metal API
  • Fixed: Multiple fixes and improvements for Vulkan API on android target platforms

v0.8.0 - released May 19, 2018


  • Initial release