Navigation
API > API/Plugins > API/Plugins/Mover
Layered Moves are methods of affecting motion on a Mover-based actor, typically for a limited time. Common uses would be for jumping, dashing, blast forces, etc. They are ticked as part of the Mover simulation, and produce a proposed move. These proposed moves are aggregated and applied to the overall attempted move. Multiple layered moves can be active at any time, and may produce additive motion or motion that overrides what the current Movement Mode may intend. Layered moves can also set a preferred movement mode that only changes the movement mode at the start of the move. Any movement mode changes that need to happen as part of the layered move after the start of the move need to be queued through an Instant Effect or the QueueNextMode function
| Name | FLayeredMoveBase |
| Type | struct |
| Header File | /Engine/Plugins/Experimental/Mover/Source/Mover/Public/LayeredMove.h |
| Include Path | #include "LayeredMove.h" |
Syntax
USTRUCT (BlueprintInternalUseOnly)
struct FLayeredMoveBase
Derived Classes
FLayeredMoveBase derived class hierarchy
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FLayeredMoveBase() |
LayeredMove.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FLayeredMoveBase() |
LayeredMove.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| DurationMs | float | This move will expire after a set amount of time if > 0. | LayeredMove.h |
|
| FinishVelocitySettings | FLayeredMoveFinishVelocitySettings | Settings related to velocity applied to the actor after a layered move has finished. | LayeredMove.h |
|
| MixMode | EMoveMixMode | Determines how this object's movement contribution should be mixed with others. | LayeredMove.h |
|
| Priority | uint8 | Determines if this layered move should take priority over other layered moves when different moves have conflicting overrides - higher numbers taking precedent. | LayeredMove.h |
|
| StartSimTimeMs | double | The simulation time this move first ticked (< 0 means it hasn't started yet) | LayeredMove.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddReferencedObjects
(
FReferenceCollector& Collector |
LayeredMove.h | ||
virtual FLayeredMoveBase * Clone() |
LayeredMove.h | ||
void EndMove
(
const UMoverComponent* MoverComp, |
Ends this move, allowing any cleanup to occur. | LayeredMove.h | |
void EndMove_Async
(
UMoverBlackboard* SimBlackboard, |
Async version of the above. | LayeredMove.h | |
virtual bool GenerateMove
(
const FMoverTickStartData& StartState, |
TODO: consider whether MoverComp should just be part of FMoverTickStartData Generate a movement that will be combined with other sources | LayeredMove.h | |
virtual bool GenerateMove_Async
(
const FMoverTickStartData& StartState, |
Async version of the above. | LayeredMove.h | |
virtual UScriptStruct * GetScriptStruct() |
LayeredMove.h | ||
virtual bool HasGameplayTag
(
FGameplayTag TagToFind, |
Check Layered Move for a gameplay tag. | LayeredMove.h | |
virtual bool IsFinished
(
double CurrentSimTimeMs |
Runtime query whether this move is finished and can be destroyed. The default implementation is based on DurationMs. | LayeredMove.h | |
virtual void NetSerialize
(
FArchive& Ar |
LayeredMove.h | ||
virtual void OnEnd
(
const UMoverComponent* MoverComp, |
Called when this layered move ends. | LayeredMove.h | |
virtual void OnEnd_Async
(
UMoverBlackboard* SimBlackboard, |
Async version of the above. | LayeredMove.h | |
virtual void OnStart
(
const UMoverComponent* MoverComp, |
Called when this layered move starts. | LayeredMove.h | |
virtual void OnStart_Async
(
UMoverBlackboard* SimBlackboard |
Async version of the above. | LayeredMove.h | |
void StartMove
(
const UMoverComponent* MoverComp, |
Kicks off this move, allowing any initialization to occur. | LayeredMove.h | |
void StartMove_Async
(
UMoverBlackboard* SimBlackboard, |
Async version of the above. | LayeredMove.h | |
virtual FString ToSimpleString() |
LayeredMove.h |