UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FCrowdAvoidanceConfig Struct Reference

#include <CrowdManager.h>

Public Member Functions

 FCrowdAvoidanceConfig ()
 

Public Attributes

float VelocityBias
 
float DesiredVelocityWeight
 
float CurrentVelocityWeight
 
float SideBiasWeight
 
float ImpactTimeWeight
 
float ImpactTimeRange
 
uint8 CustomPatternIdx
 
uint8 AdaptiveDivisions
 
uint8 AdaptiveRings
 
uint8 AdaptiveDepth
 

Detailed Description

Crowd manager is responsible for handling crowds using Detour (Recast library)

Agents will respect navmesh for all steering and avoidance updates, but it's slower than AvoidanceManager solution (RVO, cares only about agents)

All agents will operate on the same navmesh data, which will be picked from navigation system defaults (UNavigationSystemV1::SupportedAgents[0])

To use it, you have to add CrowdFollowingComponent to your agent (usually: replace class of PathFollowingComponent in AIController by adding those lines in controller's constructor

ACrowdAIController::ACrowdAIController(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer.SetDefaultSubobjectClass<UCrowdFollowingComponent>(TEXT("PathFollowingComponent")))

or simply add both components and switch move requests between them)

Actors that should be avoided, but are not being simulated by crowd (like players) should implement CrowdAgentInterface AND register/unregister themselves with crowd manager:

UCrowdManager* CrowdManager = UCrowdManager::GetCurrent(this); if (CrowdManager) { CrowdManager->RegisterAgent(this); }

Check flags in FCrowdDebug namespace (CrowdManager.cpp) for debugging options.

Constructor & Destructor Documentation

◆ FCrowdAvoidanceConfig()

FCrowdAvoidanceConfig::FCrowdAvoidanceConfig ( )
inline

Member Data Documentation

◆ AdaptiveDepth

uint8 FCrowdAvoidanceConfig::AdaptiveDepth

◆ AdaptiveDivisions

uint8 FCrowdAvoidanceConfig::AdaptiveDivisions

◆ AdaptiveRings

uint8 FCrowdAvoidanceConfig::AdaptiveRings

◆ CurrentVelocityWeight

float FCrowdAvoidanceConfig::CurrentVelocityWeight

◆ CustomPatternIdx

uint8 FCrowdAvoidanceConfig::CustomPatternIdx

◆ DesiredVelocityWeight

float FCrowdAvoidanceConfig::DesiredVelocityWeight

◆ ImpactTimeRange

float FCrowdAvoidanceConfig::ImpactTimeRange

◆ ImpactTimeWeight

float FCrowdAvoidanceConfig::ImpactTimeWeight

◆ SideBiasWeight

float FCrowdAvoidanceConfig::SideBiasWeight

◆ VelocityBias

float FCrowdAvoidanceConfig::VelocityBias

The documentation for this struct was generated from the following file: