Extra Optimizations For NPCs
This page covers how to optimize NPCs further for maximum performance gains.
Character Mesh Optimizations:
These are settings you can use to optimize characters. you can find them in the details panel of the mesh component on BP_Pedestrian.
Allow Cloth Actors = false: Use this if you don't need cloth physics, keep it true if you do.
Collision: Set to "No collision" if you handle collisions through the capsule and don't need ragdolls.
Cast Shadow: Set to false if you don't need shadows for your characters. This will significantly improve performance at the cost of visual fidelity.
Kinematic Bones Update: if not using ragdolls, set this to Skip all Bones, otherwise leave this as default. This will greatly improve performance. NOTE: it can be changed at runtime.
Defer Kinematic Bone Update: Set this to true when possible. NOTE: it may cause issues with physics sims.
Skip kinematic update when Interpolating: Set this to true when possible, NOTE: it may cause issues with physics sims but should be fine for most use cases.
Skip bounds update when interpolating: Set this to true when possible.
Visibility based anim tick option: Set this to Update only if rendered where possible.
Component uses fixed skeletal bounds: Set this to true when possible. NOTE: this may cause issues with attached items.
Enable Update Rate Optimizations: Set this to be true when possible.
Use LODs or Nanite where possible.
Character Movement Component Optimizations:
Update Only If Rendered: This should always be true and will significantly improve performance.
Component Should Update Physics Volumes: Disable this when possible. NOTE: it may cause issues with physics sims.
Animation Blueprint Optimizations:
Class Settings->Use Multi-Threaded Animation Update: Set this to true when possible. It may cause issues on some devices that do not support multi-threading.
Coding Optimizations:
Pedestrian Destroyer: Run this on a timer of 0.5-1.5 seconds, depending on how fast you move through the world.
Crowd Spawner: Run this on a timer of 0.5-2.0 seconds, depending on how fast you move through the world.
Caching Casting: If casting, it is recommended to do this on begin play and cache it as a variable.
Physics Optimizations:
Async Physics Tick: Recommended to have this enabled at all times. its found in the project settings.
Rendering Optimizations:
Occlusion Culling: This may or may not help your performance, depending on your game, enable or disable to test. It is just a checkbox.
Shadows: Shadows are costly; use them only when needed.
Do not use many material slots on a character, this increase draw calls.
if using Nanite, try to use material instances as it will batch them.
Last updated