Setting Asset Defaults and Actor Overrides
Last Updated: 10th December 2024
Tutorial created using rdInst version 1.50
Version 1.50 of rdInst added Setting Windows to make changing asset default and actor override settings for Instance Attributes, Object Randomization and Proxies/Pickups quick and easy.
You can customize each asset with it’s own set of defaults (multiple selection and set is also supported) easily from the Content Browsers Context menu.
To override these settings for any actors, the Levels Context menu has options for the selected Actors.
Changing the Default Instancing Settings for Meshes
You can assign Instancing settings to any/all StaticMeshes directly on the StaticMesh Objects (not actors or instances).
These settings are then picked up by rdInst when setting up the Instance Components as the general defaults.
All you need to do is select all the mesh assets you want to change in the content browser, right-click, and select “Instance Settings” from the menu. All options are displayed from where you can choose your settings.
Here’s a list of the various options and what they do.
Start/End Cull – The distance in world units (100 units = 1 meter) to distance cull the instance. For StaticMesh Components, the End Draw distance is calculated as the middle of the start/end range. 0.0 for both means don’t cull.
WPO Cull – The distance to disable WPO on the instance materials (stops VSM invalidation at that point). 0 = don’t cull.
Min Draw – The distance from the camera to start rendering from. For example, a value of 1000 would only start rendering the instances/Meshes when they’re 10 meters away. This can be a useful tool when combined with a mesh with the same end cull distance, swapping from one to the other just from the MinDraw and Cull values. Note that for ISMCs and HISMCs the distance is from the center of the bounding box of all instances rather than per-instance.
Nanite Prog – This is new to UE5.5. It specifies the distance from the camera at which to stop rendering using the ProgrammableRasterizer which handles things such as masking. Setting this value allows Nanite meshes to swap to opaque at a distance.
MinLOD – The minium LOD to start rendering with. The higher the value the lower-poly the Non-Nanite mesh will be.
RandomSeed – The Random seed for the Instance or StaticMesh Component.
LightChannels – You can choose which light channels to use for shadows etc.
Mobility – The Mobility type for the StaticMeshes – if you’re using Baked Lighting, make these “Static”. Note that you’ll also need to make your entire prefabs static as they default to Movable – just right-click on the prefab and select the “Mobility->Static” sub-menu option in the rdBPtools menu.
Collision – The type of collision to use for the Meshes. Note that if you have collisions turned on with StaticMesh Instances, it can have an impact on the performance of spawning and transforming them.
CustData – The number of floats to store for each instance.
Collision Profile – The Profile to use for Collisions.
Shadows – Various Flags to control how shadows are rendered – or not.
Shadow Invalidation – The Type of Virtual Shadow Map invalidation to use for the mesh. Setting this to “Static” can be a great performance boost – but stops things like WPO wind movement from being rendered on the shadow. Having a mixture of some meshes being Static and some Dynamic can work well.
Receives Decals – When ticked the SM or ISMs will accept decal rendering
Disable Collision – A quick flag to disable all collision on the ISMC.
CanEverEffectNavigation – Whether this component can potentially influence navigation – used for StaticMeshComponents more than Instances.
HasPerInstanceHitProxies – Used for InstanceComponents – when ticked, each instance stores a HitProxy which is used for Editor based selection and editing.
RayTracingFarField – When ticked, this StaticMeshComponent or ISMC will be available to ray trace as a far field primitive even if hidden.
AffectDynamicIndirectLighting – When ticked, the SM or ISMC influences the Dynamic-Indirect Lighting.
AffectDistanceFieldLighting – When ticked, the SM or ISMC influences the Dynamic-DistanceField Lighting.
Selectable – When ticked, the SM or ISMC instance (when PerInstanceHitProxies is enabled) can be selected in the Editor.
WPO Writes Velocity – This Flag is used to remove smearing when using temporal AA/Up-scaling techniques.
RenderInMainPass – When ticked, renders the Mesh in the main render pass (defaults to on). It’s possible to simplify shadow rendering for Non-Nanite SMs (not ISMCs or HISMCs) by using a pair of meshes, one high detail mesh which you render in the MainPass, and one lower poly, preferably opaque, no materials and render than in the DepthPass for the shadows. Probably the most use is for when using RVTs and StaticMeshes such as roads.
RenderInDepthPass – When ticked renders the Mesh in the depth render pass (defaults to on). The DepthPass is used for shadows etc.
EvaluateWPO – When unticked, the meshes materials will ignore WPO.
Randomization Settings
The Randomization Settings are used to describe the default or actor based randomization of an actor. This information is used by the Prefabs, SpawnActors and Auto-Instancing.
The randomization is variance-based, as in an object has a default transform, and random variations are introduced to it from there. You can also control random visibility and reliance on other objects being visible.
The randomization also includes Themes – you can control what gets shown by using combinations of themes – these are passed down from Parent Actors too, so you can form very complex random variation controlled by theme in a few small settings.
Proxy/Pickup Settings
Proxies and Pickups are a very handy runtime tool to have – The Proxy Settings window allows you to set these up as defaults for StaticMesh Assets and a per-actor straight from Actors in the Level. These proxy settings are used by the SpawnActor and by Auto-Instancing.
Different options show depending on the type of Proxy you select. For Pickup Proxies, it looks like: