[Released] GPU Instancer Pro

It seems there is no issue when testing in a new project. However, based on the errors, it looks like you may be using an older URP version.

Please ensure that the Universal RP package is updated to the latest version (currently 17.0.3). Additionally, I recommend upgrading to the latest Unity 6000.0 version (currently 6000.0.26f1).

If the issue persists, please contact support with a reproduction project so I can investigate further.

That would be really great. Thank you.

Just for awareness I found the issue. It was because I had Compatibility Mode (Render Graph Disabled) enabled in the Graphics settings for URP 17.0.3. The reason I had this was for Stylized Water 2 compatibility. Unchecking the checkbox fixed the issue.

1 Like

Hi, I faced an issue, with Unity 6000.27f1 HDRP
after importing the HDRP demos, the Core and Terrain work well but the prefab demo gives me 20 fps and the spaceship is not moving.

I checked the Spaceship code; it was fine; there was nothing wrong with it. Both inputs (Old and new) are enabled. Is there something wrong with the prefab manager? I get more than 250 fps in other demos.

also, I have a question about the PRO, I remember there were advanced settings in GPUI that we could serialize the prefabs, like destroying their gameobjects and only rendering them via the GPU, is it available in PRO?

EDIT: ok, I tested the GPUI pro in Unity 2022 and the new unity 6000.27 version, and it was ok. something is wrong with my project. reimporting the assets didn’t help. tried to delete library folder and open again.

what a strange bug :slight_smile:


Profiler output

EDIT: I found something, when I disable the Custom post-processing in my camera’s custom frame settings the fps goes up to 200 but why? I have some assets like Beatify HBAO and others why this happens, I can’t disable this option in my game, I have some custom post-processing. still I can’t move the ship

EDIT: so I found out that the Enviro3 caused this issue. Deep Profiler


fortunately, I don’t use the flat clouds and volumetric clouds of enviro so I just removed the AfterPostProccesing enviroHDRP in the graphics setting. I have the enviro working fine and the GPUI PRO too, but why did this happen only in the prefab demo, I don’t have any clue what’s the reason in the background.
about why I couldn’t move the ship, it was because I set the simulation mode of physics for game objects to the script, changed it to fixedUpdate, or Updated fixed the issue.

anyway, thanks!

|Processor|Intel(R) Core™ i9-10900 CPU @ 2.80GHz 2.81 GHz|
|Installed RAM|32.0 GB (31.9 GB usable)|
|System type|64-bit operating system, x64-based processor|
Graphic: 6800XT AMD

1 Like

Thank you for the feedback. I will implement a check to ensure the older method is used when Compatibility Mode is enabled.

Hi there and thank you for the feedback!

I’m not familiar with how Enviro works specifically, but the Asteroids demo uses a different Volume Profile, along with additional lighting and particle effects. These could potentially be triggering the issue when used with Enviro.

The “Serialize Registered Instances” button is not available in the Pro version. The Prefab Manager is now solely used for rendering GameObjects within the scene. And the no-GameObject workflow does not require a Prefab Manager in the scene and is simpler to implement.

Instead of the “Serialize Registered Instances” button, I am working on a new manager that can provide this feature with additional capabilities, which will be released at a later date. While the serialize instances button was useful, most users required additional flexibility, such as the ability to add or remove instances at runtime or to modify and render instances in edit mode. The new manager will address these needs.

1 Like

this new feature sounds so special! I will patiently wait for it. Huge Thanks!

Hi everyone,

Version 0.9.13 is now live on the Asset Store!

This update focuses on improvements to the Occlusion Culling system and includes several other fixes.

Key Updates for Occlusion Culling

  1. Debug Toggle in Scene View Overlay
    A new debug toggle in the GPUI Pro Scene View Overlay simplifies understanding occlusion culling results and identifying issues. This toggle appears when a camera is selected. Enabling it lets you view the texture used for Occlusion Culling directly in the Scene window.

  1. HDRP Dynamic Resolution Support
    The Occlusion Culling system now adapts to HDRP Dynamic Resolution and adjusts culling operations based on the dynamic resolution scale. You can view the scaling via the debug toggle. Only a portion of the initial texture is processed during scaling. Note that occlusion culling pauses for 1–2 frames when the scale changes to adjust to the new scale.

OCDynamicResolution

  1. New Setting: “Occlusion Offset Size Multiplier”
    In addition to Occlusion Offset, there is now a new Profile setting, Offset Size Multiplier, which helps prevent popping at occluder edges, particularly when occlusion culling is used for shadows.
  • Previously, the Occlusion Offset modified depth only.

  • Now, by increasing the Offset Size Multiplier, you can expand the bounding box used for occlusion culling, allowing the offset to impact the sides as well.

Please see the full change log for detailed information:

[0.9.13] - 2024-11-19

New

  • Added HDRP Dynamic Resolution support for occlusion culling.
  • Introduced a new Profile setting, Occlusion Offset Size Multiplier, for adjusting the expansion of the bounding box used in occlusion culling.
  • Introduced a debug button in the scene view overlay to inspect the depth texture used for occlusion culling (visible only when the camera is selected).

Fixed

  • Resolved an error occurring when Render Graph Compatibility Mode was enabled in Unity 6 URP.
  • Corrected the OptimizedShader dependency for the ‘Tree Creator Leaves’ shader.
  • Fixed and optimized XR occlusion culling.
  • Fixed an issue where detail density render textures would initially load random data from GPU memory.
  • Resolved an issue where prefab material variations failed to locate the variation material.
  • Detail instances now render correctly after removing all terrains and re-adding them to the Detail Manager at runtime.
  • Detail density modifier now checks for terrain heightmap type for platform compatibility.
1 Like

Does the pro version support HDRP motion vector?

Yes, HDRP Motion Vectors are supported. Camera Motion Only is enabled by default. To use Per Object Motion, activate the “Enable Motion Vectors” option in the Profile settings under the Experimental section. Without this option, objects will render with Camera Motion Only, even if set to Per Object Motion. It is marked experimental because it hasn’t received much feedback yet. However, the prefab demo scenes already use Per Object Motion Vectors, and no known issues have been reported.

Enviro 3 HDRP is broken in the sense just having it in the AfterPostProcess graphics tab while not having a single instance of Enviro3 spawned in the game world will kill your framerate, and that guy refuses to fix it. Told him like 3 months ago iirc. Though I heard recently a fix is coming as a volume component that must be activated/deactivated depending on Enviro3 being in scene or not.

And yes, I also found out after a long headache just like you.

1 Like

@GurhanH I am dealing with a network implementation of GPU Instancing right now and I wanted to know: the networking solution I employ makes use of ‘Instantiate’, and I was wondering if the difference in performance between Instantiating and then GPU Instancing versus GPU Instancing directly is very noticeable.
Just to know so I can think in how to start making adjustments.

Basically just asking for clarification on how old GPUI and GPUI Pro differ from one another:

I take it in GPUI Pro there is no difference in using normal Unity instantiating versus the GPUI specific prefab instantiate? That would be ultra convenient…

Hi there,
The Auto. Add/Remove option works the same way, automatically managing prefab instances in the Prefab Manager. No changes are needed in how you instantiate prefabs.

In GPUI Pro, this process is optimized for better performance. Instead of immediately updating prefab instances for instanced rendering, changes are queued and processed together before the next draw call.

This optimization reduces the frequency of GPU buffer updates, improving performance when instances are frequently added or removed.

1 Like

Hello, anyone using GPUI Pro alongside Amplify Impostors? I notice my impostors render as pink when running through GPUI, be it prefabs with impostors added to the prefab manager or terrain tree impostors. Works fine as a standalone prefab. It also always works in editor but does not work in builds. Was hoping someone could confirm they have that combination running.

Hi there,

Seeing pink objects typically indicates that the required shader variant is missing from the build. GPUI automatically generates a shader variant collection to include the variants used in the editor, but additional variants needed for the build might be omitted.

To resolve this, add the GPUIPro versions of the Amplify Impostors shaders to the Always Included Shaders list in the Graphics Settings. For example, the OctahedronImpostor shader will have a corresponding OctahedronImpostor_GPUIPro shader in the same folder—ensure the GPUIPro version is added to the list.

I will work on adding error logs for the build to make identifying such issues easier. Additionally, if you can share details about your Unity version, Render Pipeline, and target platform (e.g., Windows, Android), I can investigate why the shader variant wasn’t included.

Thank you for the reply. Tried adding the impostor shaders to the always include section but it runs out of memory while compiling when I do that, so I’m looking into other solutions for now.

As for the info:
Using 2022.3 LTS, URP, Windows 11, Windows target platform.

I ran several builds using prefabs and terrains with various managers, tested with the latest version of Amplify Impostors on URP in Unity 2022.3, and did not encounter any issues.

Please try the following steps to troubleshoot and let me know if any resolve the issue:

  1. Check Player Logs:
  • Enable the Development Build option in the Build Settings.
  • Review the Player Log after running the build to identify any errors or warnings related to the impostor shaders or GPU Instancer Pro.
  • You can access the Player Log from the Console window.

  1. Check Shader Variant Collection:
  • Go to Edit -> Preferences, select GPU Instancer Pro, and verify if the Generate Shader Variant Collection option is enabled.
  • If it is disabled, enable it.
  • Close and re-open your project or right click on a script and select Reimport so the system is reinitialized with the new setting.
  • Run the scenes with the impostors at least once in the editor, and then try a new build.

  1. Inspect Shader Variant Collection Asset:
  • Locate the GPUInstancerPro/Resources/GPUIShaderVariantCollection asset in the Project window.
  • Ensure there are entries for the impostor shaders. You should see something similar to the example below.
  • If no entries exist, manually add the shaders using the Add Shader button, then test a new build.

  1. Switch to GPUI Pro Shaders:
  • Try switching the shaders of your prefab materials to the GPUI Pro versions.
  • I’ve attached a package with a script to make this process easier. After importing the package, right-click on a material and select GPU Instancer Pro -> Switch to GPUI Pro Shader.
    GPUIProMaterialShaderSwitcher.unitypackage (803 Bytes)

Please let me know the results, and share a screenshot of the Shader Variant Collection and the Player Log file if there are still issues. For privacy, you can contact me from the support email.

Hello again! :slight_smile: I was considering getting GPUI Pro now during the BF-sale and just wanted to know if this tool is implemented yet and if I can read about it anywhere in the documentation. I wasn’t sure what it was called or referred to so I’m not sure what to look for.

(I replied to a previous post you wrote, just click “Show Parent Post” in the upper right corner to see it)

Hello, I already own GPU Instancer I purchased it when it was first released on the store. I held off on buying the Pro version as I read on discord that it doesn’t work with AMD GPUs (possibly due to a bug). Has this issue been fixed?

What about dynamic resolution in HDRP? Is it supported now? If not, is there an ETA for when it will be available?

Also, as an owner of the base version, do we get any discount when upgrading to the Pro version?

Thanks.

Hi there,
Not yet. The release was delayed due to higher-priority tasks, such as Unity 6 compatibility and occlusion culling improvements. Additionally, new terrain-related requests have led to plans for an extension package, “Custom Terrain Tools” (name subject to change), to address a broader range of use cases while improving the current terrain system’s extensibility. The release date hasn’t been determined yet.