Navigation
API > API/Plugins > API/Plugins/ChaosMover
UChaosCompositeMovementMode: a ChaosMover movement mode that composes a UChaosMoverSourceBase (what velocity to produce) with a UChaosMoveExecutorBase (how to apply it to the physics simulation). This separates move generation from physics application so that both can be configured and swapped independently.
All simulation methods are async-safe — no AActor or UActorComponent access.
When MoveSource::IsFinished() returns true, the mode automatically transitions to NextModeName (if set). The Transitions array can be used for additional conditions.
If the executor implements IChaosCharacterMovementModeInterface and/or IChaosCharacterConstraintMovementModeInterface, CollectSimulationInterfaces automatically exposes those to the simulation no subclassing required.
| Name | UChaosCompositeMovementMode |
| Type | class |
| Header File | /Engine/Plugins/Experimental/ChaosMover/Source/ChaosMover/Public/ChaosMover/ChaosCompositeMovementMode.h |
| Include Path | #include "ChaosMover/ChaosCompositeMovementMode.h" |
Syntax
UCLASS (MinimalAPI, Blueprintable, BlueprintType, EditInlineNew, DefaultToInstanced)
class UChaosCompositeMovementMode : public UChaosMovementMode
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UBaseMovementMode → UChaosMovementMode → UChaosCompositeMovementMode
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UChaosCompositeMovementMode
(
const FObjectInitializer& ObjectInitializer |
ChaosMover/ChaosCompositeMovementMode.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| MoveExecutor | TObjectPtr< UChaosMoveExecutorBase > | Applies the proposed move to the Chaos physics simulation state each tick. | ChaosMover/ChaosCompositeMovementMode.h |
|
| MoveSource | TObjectPtr< UChaosMoverSourceBase > | The source that produces a FProposedMove each tick. | ChaosMover/ChaosCompositeMovementMode.h |
|
| NextModeName | FName | Mode to transition to when MoveSource::IsFinished() returns true. NAME_None = no auto-transition. | ChaosMover/ChaosCompositeMovementMode.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bMoveSourceEnded | bool | Set when MoveSource->OnEnd_Async has been called, cleared on Activate. | ChaosMover/ChaosCompositeMovementMode.h |
Functions
Public
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void GenerateMove_Implementation
(
const FMoverSimContext& SimContext, |
ChaosMover/ChaosCompositeMovementMode.h | ||
virtual void SimulationTick_Implementation
(
const FSimulationTickParams& Params, |
ChaosMover/ChaosCompositeMovementMode.h |
Overridden from UChaosMovementMode
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void CollectSimulationInterfaces
(
FChaosMoverSimulationInterfaceCache& OutCache |
Populate OutCache with simulation interface pointers (IChaosPreSimulationTickInterface, IChaosPostSimulationTickInterface) this mode can service. | ChaosMover/ChaosCompositeMovementMode.h |
Overridden from UBaseMovementMode
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void Activate
(
const FMoverEventContext& Context, |
ChaosMover/ChaosCompositeMovementMode.h | ||
virtual void Deactivate
(
const FMoverEventContext& Context, |
ChaosMover/ChaosCompositeMovementMode.h | ||
virtual void OnRegistered
(
const FName ModeName, |
ChaosMover/ChaosCompositeMovementMode.h | ||
virtual void OnUnregistered
(
const FMoverSimContext& SimContext |
ChaosMover/ChaosCompositeMovementMode.h |