p.ChaosNumPushOutIterationsOverride
p.ChaosNumPushOutIterationsOverride
#Overview
name: p.ChaosNumPushOutIterationsOverride
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Override for num push out iterations if >= 0 [def:-1]
It is referenced in 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of p.ChaosNumPushOutIterationsOverride is to override the number of push-out iterations in the Chaos physics system of Unreal Engine 5. This setting variable is specifically used for the physics simulation, particularly in collision resolution.
This setting variable is primarily used by the Chaos physics module, which is an experimental physics engine in Unreal Engine 5. It’s part of the collision resolution system within the physics simulation.
The value of this variable is set through the console variable system in Unreal Engine. It’s defined as an FAutoConsoleVariableRef, which means it can be changed at runtime through console commands or configuration files.
The associated variable ChaosNumPushOutIterationsOverride interacts directly with p.ChaosNumPushOutIterationsOverride. They share the same value and are used interchangeably in the code.
Developers must be aware that this variable is an override. Its default value is -1, which means the override is not active. When set to a value greater than or equal to 0, it will override the default number of push-out iterations in the physics simulation.
Best practices when using this variable include:
- Only use it for debugging or fine-tuning physics behavior.
- Be cautious when changing this value, as it can significantly impact performance and simulation accuracy.
- Remember to reset it to -1 when not actively using the override.
- Use in conjunction with profiling tools to understand its impact on performance.
Regarding the associated variable ChaosNumPushOutIterationsOverride:
- It serves the same purpose as p.ChaosNumPushOutIterationsOverride.
- It’s used within the Chaos physics module of Unreal Engine 5.
- Its value is set by the console variable system, mirroring p.ChaosNumPushOutIterationsOverride.
- It interacts directly with p.ChaosNumPushOutIterationsOverride, sharing the same value.
- Developers should treat it with the same caution as p.ChaosNumPushOutIterationsOverride.
- Best practices are the same as those for p.ChaosNumPushOutIterationsOverride.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Runtime/Experimental/Chaos/Private/Chaos/PBDRigidsEvolution.cpp:17
Scope: file
Source code excerpt:
int32 ChaosNumPushOutIterationsOverride = -1;
FAutoConsoleVariableRef CVarChaosNumPushOutIterationsOverride(TEXT("p.ChaosNumPushOutIterationsOverride"), ChaosNumPushOutIterationsOverride, TEXT("Override for num push out iterations if >= 0 [def:-1]"));
int32 ChaosNumContactIterationsOverride = -1;
FAutoConsoleVariableRef CVarChaosNumContactIterationsOverride(TEXT("p.ChaosNumContactIterationsOverride"), ChaosNumContactIterationsOverride, TEXT("Override for num contact iterations if >= 0. [def:-1]"));
namespace Chaos
{
#Associated Variable and Callsites
This variable is associated with another variable named ChaosNumPushOutIterationsOverride
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Source/Runtime/Experimental/Chaos/Private/Chaos/PBDRigidsEvolution.cpp:16
Scope: file
Source code excerpt:
FAutoConsoleVariableRef CVarChaosRigidsEvolutionApplyPushoutAllowEarlyOut(TEXT("p.ChaosRigidsEvolutionApplyPushoutAllowEarlyOut"), ChaosRigidsEvolutionApplyPushoutAllowEarlyOutCVar, TEXT("Allow Chaos Rigids Evolution apply-pushout iterations to early out when resolved.[def:1]"));
int32 ChaosNumPushOutIterationsOverride = -1;
FAutoConsoleVariableRef CVarChaosNumPushOutIterationsOverride(TEXT("p.ChaosNumPushOutIterationsOverride"), ChaosNumPushOutIterationsOverride, TEXT("Override for num push out iterations if >= 0 [def:-1]"));
int32 ChaosNumContactIterationsOverride = -1;
FAutoConsoleVariableRef CVarChaosNumContactIterationsOverride(TEXT("p.ChaosNumContactIterationsOverride"), ChaosNumContactIterationsOverride, TEXT("Override for num contact iterations if >= 0. [def:-1]"));
namespace Chaos
{
#Loc: <Workspace>/Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/PBDRigidsEvolution.h:26
Scope: file
Source code excerpt:
extern int32 ChaosRigidsEvolutionApplyAllowEarlyOutCVar;
extern int32 ChaosRigidsEvolutionApplyPushoutAllowEarlyOutCVar;
extern int32 ChaosNumPushOutIterationsOverride;
extern int32 ChaosNumContactIterationsOverride;
namespace Chaos
{
extern CHAOS_API int32 ForceNoCollisionIntoSQ;