rdInst Manual version 1.53
Last updated 21st August 2026
Section 1.1. Introduction
Welcome to rdInst, a plugin that provides Handling of InstancedStaticMeshes, Spawned Actors, Niagara Effects, Componentless Primitive Meshes, Niagara Meshes, Instanced Skinned Meshes, Auto-Instancing,Prefabs, very configurable Streaming, Proxies, Procedural Population, and Runtime Splines.
The main features of this plugin are:
- Fast ISM/HISM/FISM Instances, managed or unmanaged.
- Fast Componentless Primitive Meshes, Niagara Meshes, and Instanced Skinned Meshes
- Fast WPO based Transformations
- Managed Spawning of Actors and Niagara systems, even from the Construction Script.
- Auto-Instancing at Runtime for very easy-to-use instancing, proxies and pickups.
- Fast, highly programmable, configurable and randomizable Prefabs.
- Proxy Actors that swap in full actors from instances in the level when you get close (full state saving).
- An ECS based Spawning system that spawns Instances, Actors and Niagara systems (pooled and/or distributed over frames) – even spawn more Spawning actors to create very optimized and simple large scale worlds. Load-On-Demand.
- A powerful Procedural Population Actor
- Spherical and Frustum based fast entity population system.
- Mass ECS Movement system (operated through the rdNPCSpawner actor)
- Mass Physics system (coming soon)
- Fast integrated PickUp system with powerful Highlighting.
- Support for PCG with custom spawner nodes.
- Runtime Spline creation and manipulation.
- A lot of utility functions for Scalability, Construction optimization, Runtime instance to Proxy scan data conversion etc.
To use this plugin, just enable it (defaults to enabled) – all the tools will be available.
Version 1.43 adds a couple of Editor Only features – the first is an about window (available in the Main Tools menu) and an Instance Settings window in the Content Browser Context menu. In version 1.50 they were extended and moved into a separate Editor module.
If you’re using the runtime features of rdInst, the plugin will be needed for your packaged builds, but is small and quite portable.
The Manager uses UHierarchicalInstancedStaticMeshComponents (HISMCs) or UInstancedStaticMeshComponents (ISMCs) via a bool in rdInstBaseActor as defaults, but you can select any type of rendering option for your meshes, instances, componentless primitive meshes, niagara meshes or even instanced skinned meshes. You can set that and the type of instance removal (remove or recycle) with the rdSetUpInst() node or method.
The preferred type used to be (and up until 5.4 still is) HISMCs as they have a unique way of removing Instances which makes them faster to manage, without any apparent overhead. With Nanite though, the preferred is ISMs, and as of UE5.3, they also have the instance index “swapping” that HISMs have.
If you’re on UE5.7 or above you can use Componentless Primitive Meshes which are very fast – there’s also Niagara meshes on all versions, these are extremely fast to setup and transform, but do have some caveats including being only LOD based meshes (temporarily disables Nanite if it’s on).
rdInst defaults to recycling instances rather than removing which allows you to know that the instance indexes will always be correct – it also provides a number of speed benefits. The other types of renders also use indexes for their identification so you can use the same workflow for all.
There are a number of routines in version 1.50 and up that now support multithreaded handling – you can use Queues to enqueue your instancing commands from any thread.
For detailed information on each of the Nodes and C++ functions, you can read up on them in the rdInst Reference Manual.