rdInst Tutorial 7.7 – Spherical Difference Populating
Last Edited: 28th April 2025
Tutorial created using rdInst version 1.50
UE5.5 and PCG give us the ability to populate large expansive worlds quickly and with extreme detail.
GPU Instancing is a great step into the Compute Shaders, but has a draw back in that they’re not interactable – a lot of the speed comes from this fact which isn’t a problem for objects in the distance. Having a very fast way to spawn complex detailed environments gives a whole new way of keeping framerates up while delivering the content the gamer wants.
rdInst 1.50 brings in a new feature called “Spherical Difference” populating. It populates a sphere around the player, moving further objects into view and recycling where possible for speed. These support instanced static meshes and any type of actor. The Mesh Instances can have proxies attached, so when they get even closer they can swap to fully interactive actors.
As there are only a small number of objects being swapped at any one time (usually just around the perimeter) this is a fast operation. (Note: careful consideration to VSMs and invalidation should be used to minimize overhead)
Combine this with an addition to the PCG instances materials to hide within the player radius – and you have a system which seamlessly goes from GPU Instancing to CPU Instancing to Fully Interactive Actor – all done in an optimal way.
This tutorial uses some of the PCG population tools to create a level which is spawned using the GPU instancing. The PCG graph then filters to a selection of the objects used that we want to be interactable and use the rdInst custom node to populate a rdSpawnActor using Spherical Difference mode.