UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CharacterMovementComponentAsync.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
7#include "CollisionShape.h"
10#include "CharacterMovementComponentAsync.generated.h"
11
14
15// TODO move these common structures to separate header?
16
17// Enum used to control GetPawnCapsuleExtent behavior
19{
20 SHRINK_None, // Don't change the size of the capsule
21 SHRINK_RadiusCustom, // Change only the radius, based on a supplied param
22 SHRINK_HeightCustom, // Change only the height, based on a supplied param
23 SHRINK_AllCustom, // Change both radius and height, based on a supplied param
24};
25
27USTRUCT(BlueprintType)
29{
31
32
36 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Category = CharacterFloor)
37 uint32 bBlockingHit : 1;
38
40 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Category = CharacterFloor)
41 uint32 bWalkableFloor : 1;
42
44 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Category = CharacterFloor)
45 uint32 bLineTrace : 1;
46
48 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Category = CharacterFloor)
49 float FloorDist;
50
52 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Category = CharacterFloor)
53 float LineDist;
54
56 UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Category = CharacterFloor)
57 FHitResult HitResult;
58
59public:
60
62 : bBlockingHit(false)
63 , bWalkableFloor(false)
64 , bLineTrace(false)
65 , FloorDist(0.f)
66 , LineDist(0.f)
67 , HitResult(1.f)
68 {
69 }
70
72 bool IsWalkableFloor() const
73 {
74 return bBlockingHit && bWalkableFloor;
75 }
76
77 void Clear()
78 {
79 bBlockingHit = false;
80 bWalkableFloor = false;
81 bLineTrace = false;
82 FloorDist = 0.f;
83 LineDist = 0.f;
84 HitResult.Reset(1.f, false);
85 }
86
88 float GetDistanceToFloor() const
89 {
90 // When the floor distance is set using SetFromSweep, the LineDist value will be reset.
91 // However, when SetLineFromTrace is used, there's no guarantee that FloorDist is set.
92 return bLineTrace ? LineDist : FloorDist;
93 }
94
95 ENGINE_API void SetFromSweep(const FHitResult& InHit, const float InSweepFloorDist, const bool bIsWalkableFloor);
96 ENGINE_API void SetFromLineTrace(const FHitResult& InHit, const float InSweepFloorDist, const float InLineDist, const bool bIsWalkableFloor);
97};
98
99
102{
103 uint32 bComputedFloor : 1; // True if the floor was computed as a result of the step down.
104 FFindFloorResult FloorResult; // The result of the floor test if the floor was updated.
105
110};
111
113{
115
116 // Character Owner Data
124 bool bClearJumpInput; // If true when applying output we will clear bPressedJump on game thread.
125};
126
128{
129 // TODO Overlaps: When overlapping, if UpdatedComponent enables overlaps, we cannot read from
130 // overlapped component to determine if it needs overlap event, because we are not on game thread.
131 // We cache overlap regardless if other component enables Overlap events,
132 // and will have to cull them on game thread when applying output.
133 // TODO see ShouldIngoreOverlapResult, check WorldSEttings and ActorInitialized condition.
135
136 // stolen from prim component TODO
141
142 // stolen from prim component TODO dedupe
143 // Helper for adding an FOverlapInfo uniquely to an Array, using IndexOfOverlapFast and knowing that at least one overlap is valid (non-null
151};
152
153
155{
157
164
171
173
174public:
175 void Reset() { bIsValid = false; }
176
178
179 bool IsValid() const { return bIsValid; }
180
182 static float GetAxisDeltaRotation(float InAxisRotationRate, float InDeltaTime);
183
216 bool bShouldApplyDeltaToMeshPhysicsTransforms; // See UpdateBasedMovement
220 FVector OldVelocity; // Cached for CallMovementUpdateDelegate
222
223 // Used to override the rotation rate in the presence of a velocity-based turn curve.
226
227 // See MaybeUpdateBasedMovement
228 // TODO MovementBase, handle tick group changes properly
233 UPrimitiveComponent* NewMovementBase; // call SetBase
234 AActor* NewMovementBaseOwner; // make sure this is set whenever base component is. TODO
235
238
240};
241
242// Don't read into this part too much it needs to be changed.
244{
245 // data derived from movement base
246 UPrimitiveComponent* CachedMovementBase; // Do not access, this was input movement base, only here so I could ensure when it changed.
247
248 // Invalid if movement base changes.
254
260
261 // Calling this before reading movement base data, as if it changed during tick, we are using stale data,
262 // can't read from game thread. Need to think about this more.
264 {
265 ensure(Output.NewMovementBase == CachedMovementBase);
266 }
267};
268
301
302// Data and implementation that lives on movement component's character owner
326
327// Represents the UpdatedComponent's state and implementation
329{
331
332 // base Implementation from PrimitiveComponent, this will be wrong if UpdatedComponent is SceneComponent.
334 ENGINE_API virtual bool AreSymmetricRotations(const FQuat& A, const FQuat& B, const FVector& Scale3D) const;
335
336 // TODO Dedupe with PrimitiveComponent where possible
337 static ENGINE_API void PullBackHit(FHitResult& Hit, const FVector& Start, const FVector& End, const float Dist);
338 static ENGINE_API bool ShouldCheckOverlapFlagToQueueOverlaps(const UPrimitiveComponent& ThisComponent);
340 static ENGINE_API bool ShouldIgnoreOverlapResult(const UWorld* World, const AActor* ThisActor, const UPrimitiveComponent& ThisComponent, const AActor* OtherActor, const UPrimitiveComponent& OtherComponent);
341
344 FVector GetUpVector() const { return GetRotation().GetAxisZ(); }
345
346 // Async API, physics thread only.
347 ENGINE_API void SetPosition(const FVector& Position) const;
349 ENGINE_API void SetRotation(const FQuat& Rotation) const;
351
354
355 // PrimComponent->InitSweepCollisionParams + modified IgnoreTouches and trace tag.
358
359 UPrimitiveComponent* UpdatedComponent; // TODO Threadsafe make sure we aren't accessing this anywhere.
361
363 bool bForceGatherOverlaps; // !ShouldCheckOverlapFlagToQueueOverlaps(*PrimitiveComponent);
364 bool bGatherOverlaps; // GetGenerateOverlapEvents() || bForceGatherOverlaps
366};
367
368
369// This contains inputs from GT that are applied to async sim state before simulation.
371{
373
374 bool bValidMovementMode; // Should we actually copy movement mode?
376
377 // Pawn inputs
379
381 {
382 Output.bWantsToCrouch = bWantsToCrouch;
384 {
385 Output.MovementMode = MovementMode;
386 }
387 Output.CharacterOutput->bPressedJump = bPressedJump;
388 }
389};
390
391/*
392* Contains all input and implementation required to run async character movement.
393* Base implementation is from CharacterMovementComponent.
394* Contains 'CharacterInput' and 'UpdatedComponentInput' represent data/impl of Character and our UpdatedComponent.
395* All input is const, non-const data goes in output. 'AsyncSimState' points to non-const sim state.
396*/
398{
401
402 // Has this been filled out?
403 bool bInitialized = false;
404
407 bool bIsNetModeClient; // shared state, TODO remove.
419 bool bHasValidData; // TODO look into if this can become invalid during sim
424 float GravityZ;
455 mutable float JumpZVelocity;
460 bool bNavAgentPropsCanJump; // from NavAgentProps.bCanJump
461 bool bMovementStateCanJump; // from MovementState.bCanJump
469
473
474
475 UWorld* World; // Remove once we have physics thread scene query API
476 //AActor* Owner; // TODO Threadsafe make sure this isn't accessed.
477
478 // primitive component InitSweepCollisionParams
484
485
486 // This is the latest simulated state of this movement component.
488
490
492
493 template <typename FCharacterInput, typename FUpdatedComponentInput>
499
500 void Reset()
501 {
502 /* TODO Should actually implement this.*/
503 bInitialized = false;
507 }
508
513
514 // Entry point of async tick
515 ENGINE_API void Simulate(const float DeltaSeconds, FCharacterMovementComponentAsyncOutput& Output) const;
516
517 // TODO organize these
518 ENGINE_API virtual void ControlledCharacterMove(const float DeltaSeconds, FCharacterMovementComponentAsyncOutput& Output) const;
519 ENGINE_API virtual void PerformMovement(float DeltaSeconds, FCharacterMovementComponentAsyncOutput& Output) const;
521 ENGINE_API virtual void UpdateBasedMovement(float DeltaSeconds, FCharacterMovementComponentAsyncOutput& Output) const;
525 ENGINE_API virtual void PhysicsRotation(float DeltaTime, FCharacterMovementComponentAsyncOutput& Output) const;
532 ENGINE_API virtual FVector ConstrainLocationToPlane(FVector Location) const;
533 ENGINE_API virtual FVector ConstrainDirectionToPlane(FVector Direction) const;
536 ENGINE_API virtual bool MoveUpdatedComponent(const FVector& Delta, const FQuat& NewRotation, bool bSweep, FCharacterMovementComponentAsyncOutput& Output, FHitResult* OutHitResult = nullptr, ETeleportType TeleportType = ETeleportType::None) const;
544 ENGINE_API virtual bool FloorSweepTest(struct FHitResult& OutHit, const FVector& Start, const FVector& End, ECollisionChannel TraceChannel, const struct FCollisionShape& CollisionShape, const struct FCollisionQueryParams& Params, const struct FCollisionResponseParams& ResponseParam, FCharacterMovementComponentAsyncOutput& Output) const;
545 ENGINE_API virtual bool IsWithinEdgeTolerance(const FVector& CapsuleLocation, const FVector& TestImpactPoint, const float CapsuleRadius) const;
546 ENGINE_API virtual bool IsWalkable(const FHitResult& Hit) const;
548 ENGINE_API virtual float GetSimulationTimeStep(float RemainingTime, int32 Iterations) const;
549 ENGINE_API virtual void CalcVelocity(float DeltaTime, float Friction, bool bFluid, float BrakingDeceleration, FCharacterMovementComponentAsyncOutput& Output) const;
550 ENGINE_API virtual bool ApplyRequestedMove(float DeltaTime, float MaxAccel, float MaxSpeed, float Friction, float BrakingDeceleration, FVector& OutAcceleration, float& OutRequestedSpeed, FCharacterMovementComponentAsyncOutput& Output) const;
554 ENGINE_API virtual void ApplyVelocityBraking(float DeltaTime, float Friction, float BrakingDeceleration, FCharacterMovementComponentAsyncOutput& Output) const;
555 ENGINE_API virtual FVector GetPenetrationAdjustment(FHitResult& HitResult) const;
556 ENGINE_API virtual bool ResolvePenetration(const FVector& Adjustment, const FHitResult& Hit, const FQuat& NewRotation, FCharacterMovementComponentAsyncOutput& Output) const;
570 ENGINE_API void RevertMove(const FVector& OldLocation, UPrimitiveComponent* OldBase, const FVector& PreviousBaseLocation, const FFindFloorResult& OldFloor, bool bFailMove, FCharacterMovementComponentAsyncOutput& Output) const;
572 ENGINE_API virtual void HandleWalkingOffLedge(const FVector& PreviousFloorImpactNormal, const FVector& PreviousFloorContactNormal, const FVector& PreviousLocation, float TimeDelta) const;
574 ENGINE_API virtual void StartFalling(int32 Iterations, float remainingTime, float timeTick, const FVector& Delta, const FVector& subLoc, FCharacterMovementComponentAsyncOutput& Output) const;
581 ENGINE_API virtual bool CheckFall(const FFindFloorResult& OldFloor, const FHitResult& Hit, const FVector& Delta, const FVector& OldLocation, float remainingTime, float timeTick, int32 Iterations, bool bMustJump, FCharacterMovementComponentAsyncOutput& Output) const;
591 ENGINE_API virtual void ProcessLanded(const FHitResult& Hit, float remainingTime, int32 Iterations, FCharacterMovementComponentAsyncOutput& Output) const;
599
600 // UNavMovementComponent (super class) impl
601 ENGINE_API bool IsJumpAllowed() const;
602
608 ENGINE_API virtual bool IsExceedingMaxSpeed(float MaxSpeed, const FCharacterMovementComponentAsyncOutput& Output) const;
609
610 // More from UMovementComponent, this is not impl ported from CharacterMovementComponent, but super class, so we can call Super:: in CMC impl.
611 // TODO rename or re-organize this.
615
616 // Root Motion Stuff
619
620 const FRotator& GetRotationRate(const FCharacterMovementComponentAsyncOutput& Output) const { return Output.bUsingModifiedRotationRate ? Output.ModifiedRotationRate : RotationRate; }
621};
622
623class FCharacterMovementComponentAsyncCallback : public Chaos::TSimCallbackObject<FCharacterMovementComponentAsyncInput, FCharacterMovementComponentAsyncOutput>
624{
625public:
626 virtual FName GetFNameForStatId() const override;
627private:
628 virtual void OnPreSimulate_Internal() override;
629};
630
631
632template <typename FAsyncCallbackInput, typename FAsyncCallbackOutput, typename FAsyncCallback>
634{
635 const FAsyncCallbackInput* Input = Callback.GetConsumerInput_Internal();
636 if (Input && Input->bInitialized)
637 {
638 // Update sim state from game thread inputs
639 Input->UpdateAsyncStateFromGTInputs_Internal();
640
641 // Ensure that if we reset jump recently we do not process stale inputs enqueued from game thread.
642 if (Input->AsyncSimState->CharacterOutput->bClearJumpInput)
643 {
644 if (Input->GTInputs.bPressedJump == false)
645 {
646 // Game thread has consumed output clearing jump input, reset our flag so we accept next jump input.
647 Input->AsyncSimState->CharacterOutput->bClearJumpInput = false;
648 }
649 else
650 {
651 // Game thread has not consumed output clearing jump input yet, this is stale input that we do not want
652 Input->AsyncSimState->CharacterOutput->bPressedJump = false;
653 }
654 }
655
656 Input->Simulate(Callback.GetDeltaTime_Internal(), static_cast<FAsyncCallbackOutput&>(*Input->AsyncSimState));
657
658 // Copy sim state to callback output that will be pushed to game thread
659 FAsyncCallbackOutput& Output = Callback.GetProducerOutputData_Internal();
660 Output.Copy(static_cast<FAsyncCallbackOutput&>(*Input->AsyncSimState));
661 }
662}
@ Normal
Definition AndroidInputInterface.h:116
#define ensure( InExpression)
Definition AssertionMacros.h:464
void PreSimulateImpl(FAsyncCallback &Callback)
Definition CharacterMovementComponentAsync.h:633
EShrinkCapsuleExtent
Definition CharacterMovementComponentAsync.h:19
@ SHRINK_RadiusCustom
Definition CharacterMovementComponentAsync.h:21
@ SHRINK_None
Definition CharacterMovementComponentAsync.h:20
@ SHRINK_AllCustom
Definition CharacterMovementComponentAsync.h:23
@ SHRINK_HeightCustom
Definition CharacterMovementComponentAsync.h:22
@ INDEX_NONE
Definition CoreMiscDefines.h:150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ETeleportType
Definition EngineTypes.h:2401
ENetRole
Definition EngineTypes.h:3346
EMovementMode
Definition EngineTypes.h:1007
ECollisionChannel
Definition EngineTypes.h:1088
ENetworkSmoothingMode
Definition EngineTypes.h:1039
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
EMoveComponentFlags
Definition SceneComponent.h:56
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Actor.h:257
Definition SingleParticlePhysicsProxy.h:58
Definition SimCallbackObject.h:521
Definition CharacterMovementComponentAsync.h:624
virtual FName GetFNameForStatId() const override
Definition CharacterMovementComponentAsync.cpp:4559
Definition NameTypes.h:617
Definition Array.h:670
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
SizeType IndexOfByPredicate(Predicate Pred) const
Definition Array.h:1423
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT void Reset()
Definition SharedPointer.h:1120
Definition UniquePtr.h:107
void Reset(T *InPtr=nullptr)
Definition UniquePtr.h:346
Definition World.h:918
@ false
Definition radaudio_common.h:23
Definition SimCallbackInput.h:34
Definition SimCallbackInput.h:18
FSimCallbackOutput()
Definition SimCallbackInput.h:19
Definition CharacterMovementComponentAsync.h:244
FQuat OldBaseQuat
Definition CharacterMovementComponentAsync.h:258
void Validate(const FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.h:263
FVector BaseLocation
Definition CharacterMovementComponentAsync.h:257
bool bMovementBaseOwnerIsValidCached
Definition CharacterMovementComponentAsync.h:252
FVector OldBaseLocation
Definition CharacterMovementComponentAsync.h:259
FQuat BaseQuat
Definition CharacterMovementComponentAsync.h:256
bool bMovementBaseUsesRelativeLocationCached
Definition CharacterMovementComponentAsync.h:249
bool bMovementBaseIsSimulatedCached
Definition CharacterMovementComponentAsync.h:250
bool bMovementBaseIsValidCached
Definition CharacterMovementComponentAsync.h:251
bool bIsBaseTransformValid
Definition CharacterMovementComponentAsync.h:255
UPrimitiveComponent * CachedMovementBase
Definition CharacterMovementComponentAsync.h:246
bool bMovementBaseIsDynamicCached
Definition CharacterMovementComponentAsync.h:253
Definition CharacterMovementComponentAsync.h:304
bool bUseControllerRotationYaw
Definition CharacterMovementComponentAsync.h:315
ENetRole RemoteRole
Definition CharacterMovementComponentAsync.h:311
virtual ENGINE_API bool CanJump(const FCharacterMovementComponentAsyncInput &Input, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4485
virtual ENGINE_API void FaceRotation(FRotator NewControlRotation, float DeltaTime, const FCharacterMovementComponentAsyncInput &Input, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4400
virtual ENGINE_API void ClearJumpInput(float DeltaSeconds, const FCharacterMovementComponentAsyncInput &Input, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4464
bool bUseControllerRotationRoll
Definition CharacterMovementComponentAsync.h:316
float JumpMaxHoldTime
Definition CharacterMovementComponentAsync.h:308
bool bIsPlayingNetworkedRootMontage
Definition CharacterMovementComponentAsync.h:313
int32 JumpMaxCount
Definition CharacterMovementComponentAsync.h:309
bool bIsLocallyControlled
Definition CharacterMovementComponentAsync.h:312
virtual ENGINE_API void OnMovementModeChanged(EMovementMode PrevMovementMode, const FCharacterMovementComponentAsyncInput &Input, FCharacterMovementComponentAsyncOutput &Output, uint8 PreviousCustomMode=0)
Definition CharacterMovementComponentAsync.cpp:4540
bool bUseControllerRotationPitch
Definition CharacterMovementComponentAsync.h:314
virtual ENGINE_API void CheckJumpInput(float DeltaSeconds, const FCharacterMovementComponentAsyncInput &Input, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4433
ENetRole LocalRole
Definition CharacterMovementComponentAsync.h:310
virtual ~FCharacterAsyncInput()
Definition CharacterMovementComponentAsync.h:305
FRotator ControllerDesiredRotation
Definition CharacterMovementComponentAsync.h:317
virtual ENGINE_API void ResetJumpState(const FCharacterMovementComponentAsyncInput &Input, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4521
Definition CharacterMovementComponentAsync.h:113
bool bPressedJump
Definition CharacterMovementComponentAsync.h:123
FRotator Rotation
Definition CharacterMovementComponentAsync.h:117
virtual ~FCharacterAsyncOutput()
Definition CharacterMovementComponentAsync.h:114
float JumpForceTimeRemaining
Definition CharacterMovementComponentAsync.h:120
float JumpKeyHoldTime
Definition CharacterMovementComponentAsync.h:121
bool bClearJumpInput
Definition CharacterMovementComponentAsync.h:124
bool bWasJumping
Definition CharacterMovementComponentAsync.h:122
int32 JumpCurrentCountPreJump
Definition CharacterMovementComponentAsync.h:118
int32 JumpCurrentCount
Definition CharacterMovementComponentAsync.h:119
Definition CharacterMovementComponentAsync.h:398
ENGINE_API bool IsJumpAllowed() const
Definition CharacterMovementComponentAsync.cpp:4202
bool bApplyGravityWhileJumping
Definition CharacterMovementComponentAsync.h:450
float MinAnalogWalkSpeed
Definition CharacterMovementComponentAsync.h:412
virtual ENGINE_API bool IsMovingOnGround(const FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4248
virtual ENGINE_API float GetMaxSpeed(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4212
virtual ENGINE_API FRotator ComputeOrientToMovementRotation(const FRotator &CurrentRotation, float DeltaTime, FRotator &DeltaRotation, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4263
void Initialize()
Definition CharacterMovementComponentAsync.h:494
int32 MaxJumpApexAttemptsPerSimulation
Definition CharacterMovementComponentAsync.h:452
float BrakingDecelerationFalling
Definition CharacterMovementComponentAsync.h:435
virtual ENGINE_API void ProcessLanded(const FHitResult &Hit, float remainingTime, int32 Iterations, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4068
virtual ENGINE_API void SetMovementMode(EMovementMode NewMovementMode, FCharacterMovementComponentAsyncOutput &Output, uint8 NewCustomMode=0) const
Definition CharacterMovementComponentAsync.cpp:1614
virtual ENGINE_API void ApplyVelocityBraking(float DeltaTime, float Friction, float BrakingDeceleration, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:2311
bool bNavAgentPropsCanJump
Definition CharacterMovementComponentAsync.h:460
ECollisionChannel CollisionChannel
Definition CharacterMovementComponentAsync.h:481
bool bDontFallBelowJumpZVelocityDuringJump
Definition CharacterMovementComponentAsync.h:449
virtual ENGINE_API void PerformMovement(float DeltaSeconds, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:106
float AirControl
Definition CharacterMovementComponentAsync.h:446
FVector PlaneConstraintNormal
Definition CharacterMovementComponentAsync.h:418
bool bDeferUpdateMoveComponent
Definition CharacterMovementComponentAsync.h:457
virtual ENGINE_API void CalcVelocity(float DeltaTime, float Friction, bool bFluid, float BrakingDeceleration, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:2120
bool bUseSeparateBrakingFriction
Definition CharacterMovementComponentAsync.h:429
virtual ENGINE_API void ApplyAccumulatedForces(float DeltaSeconds, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:1589
virtual ENGINE_API FVector ComputeGroundMovementDelta(const FVector &Delta, const FHitResult &RampHit, const bool bHitFromLineTrace, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:1437
ENGINE_API void Simulate(const float DeltaSeconds, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:13
virtual ENGINE_API FVector ConstrainDirectionToPlane(FVector Direction) const
Definition CharacterMovementComponentAsync.cpp:1500
int32 MaxSimulationIterations
Definition CharacterMovementComponentAsync.h:426
bool bOrientRotationToMovement
Definition CharacterMovementComponentAsync.h:414
ENGINE_API float MoveComponent_SlideAlongSurface(const FVector &Delta, float Time, const FVector &Normal, FHitResult &Hit, FCharacterMovementComponentAsyncOutput &Output, bool bHandleImpact=false) const
Definition CharacterMovementComponentAsync.cpp:2503
FCollisionResponseParams CollisionResponseParams
Definition CharacterMovementComponentAsync.h:480
bool bForceMaxAccel
Definition CharacterMovementComponentAsync.h:410
float MaxWalkSpeedCrouched
Definition CharacterMovementComponentAsync.h:462
void UpdateAsyncStateFromGTInputs_Internal() const
Definition CharacterMovementComponentAsync.h:509
virtual ENGINE_API bool ShouldComputePerchResult(const FHitResult &InHit, FCharacterMovementComponentAsyncOutput &Output, bool bCheckRadius=true) const
Definition CharacterMovementComponentAsync.cpp:3840
virtual ENGINE_API float BoostAirControl(float DeltaTime, float TickAirControl, const FVector &FallAcceleration, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3947
float MaxDepenetrationWithPawn
Definition CharacterMovementComponentAsync.h:440
float MaxFlySpeed
Definition CharacterMovementComponentAsync.h:465
virtual ENGINE_API bool IsExceedingMaxSpeed(float MaxSpeed, const FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4253
virtual ENGINE_API void FindFloor(const FVector &CapsuleLocation, FFindFloorResult &OutFloorResult, bool bCanUseCachedLocation, FCharacterMovementComponentAsyncOutput &Output, const FHitResult *DownwardSweepResult=nullptr) const
Definition CharacterMovementComponentAsync.cpp:1752
ENGINE_API void ApplyRootMotionToVelocity(float deltaTime, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4301
bool bCanEverCrouch
Definition CharacterMovementComponentAsync.h:425
ENetworkSmoothingMode NetworkSmoothingMode
Definition CharacterMovementComponentAsync.h:406
virtual ENGINE_API void AdjustFloorHeight(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3770
virtual ENGINE_API void OnCharacterStuckInGeometry(const FHitResult *Hit, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3209
ENGINE_API void SetBaseFromFloor(const FFindFloorResult &FloorResult, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3754
virtual ENGINE_API bool CanWalkOffLedges(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3516
virtual ENGINE_API void UpdateBasedMovement(float DeltaSeconds, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:521
float MaxStepHeight
Definition CharacterMovementComponentAsync.h:420
ENGINE_API float GetPerchRadiusThreshold() const
Definition CharacterMovementComponentAsync.cpp:3900
TUniquePtr< FUpdatedComponentAsyncInput > UpdatedComponentInput
Definition CharacterMovementComponentAsync.h:471
FCachedMovementBaseAsyncData MovementBaseAsyncData
Definition CharacterMovementComponentAsync.h:470
float MaxSwimSpeed
Definition CharacterMovementComponentAsync.h:464
FRotator RotationRate
Definition CharacterMovementComponentAsync.h:467
virtual ENGINE_API bool ComputePerchResult(const float TestRadius, const FHitResult &InHit, const float InMaxFloorDist, FFindFloorResult &OutPerchFloorResult, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3867
float PhysicsVolumeTerminalVelocity
Definition CharacterMovementComponentAsync.h:451
virtual ENGINE_API void SetPostLandedPhysics(const FHitResult &Hit, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4110
virtual ENGINE_API bool StepUp(const FVector &GravDir, const FVector &Delta, const FHitResult &Hit, FCharacterMovementComponentAsyncOutput &Output, FStepDownResult *OutStepDownResult=nullptr) const
Definition CharacterMovementComponentAsync.cpp:3284
virtual ENGINE_API bool ShouldLimitAirControl(float DeltaTime, const FVector &FallAcceleration, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3958
virtual ENGINE_API bool IsWalkable(const FHitResult &Hit) const
Definition CharacterMovementComponentAsync.cpp:2041
float JumpZVelocity
Definition CharacterMovementComponentAsync.h:455
virtual ENGINE_API bool ShouldCheckForValidLandingSpot(float DeltaTime, const FVector &Delta, const FHitResult &Hit, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4157
virtual ENGINE_API void PhysWalking(float deltaTime, int32 Iterations, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:725
virtual ENGINE_API bool CheckFall(const FFindFloorResult &OldFloor, const FHitResult &Hit, const FVector &Delta, const FVector &OldLocation, float remainingTime, float timeTick, int32 Iterations, bool bMustJump, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3912
float GroundFriction
Definition CharacterMovementComponentAsync.h:430
virtual ENGINE_API void ClearAccumulatedForces(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:1607
float MaxWalkSpeed
Definition CharacterMovementComponentAsync.h:463
bool bHasValidData
Definition CharacterMovementComponentAsync.h:419
FCollisionQueryParams CapsuleParams
Definition CharacterMovementComponentAsync.h:482
bool bRequestedMoveUseAcceleration
Definition CharacterMovementComponentAsync.h:458
TUniquePtr< FCharacterAsyncInput > CharacterInput
Definition CharacterMovementComponentAsync.h:472
virtual ENGINE_API float SlideAlongSurface(const FVector &Delta, float Time, const FVector &InNormal, FHitResult &Hit, bool bHandleImpact, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3125
bool bCanWalkOffLedges
Definition CharacterMovementComponentAsync.h:443
float GravityZ
Definition CharacterMovementComponentAsync.h:424
ENGINE_API void TwoWallAdjust(FVector &OutDelta, const FHitResult &Hit, const FVector &OldHitNormal, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3626
bool bCanWalkOffLedgesWhenCrouching
Definition CharacterMovementComponentAsync.h:442
bool bWasSimulatingRootMotion
Definition CharacterMovementComponentAsync.h:408
virtual ENGINE_API float GetValidPerchRadius(const FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3906
float MaxDepenetrationWithGeometry
Definition CharacterMovementComponentAsync.h:439
virtual ENGINE_API bool ShouldComputeAccelerationToReachRequestedVelocity(const float RequestedSpeed, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:2271
float BrakingDecelerationFlying
Definition CharacterMovementComponentAsync.h:437
bool bMaintainHorizontalGroundVelocity
Definition CharacterMovementComponentAsync.h:428
bool bUseControllerDesiredRotation
Definition CharacterMovementComponentAsync.h:415
virtual ENGINE_API FVector ConstrainLocationToPlane(FVector Location) const
Definition CharacterMovementComponentAsync.cpp:1520
virtual ENGINE_API FVector NewFallVelocity(const FVector &InitialVelocity, const FVector &Gravity, float DeltaTime, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3989
virtual ENGINE_API bool ShouldCatchAir(const FFindFloorResult &OldFloor, const FFindFloorResult &NewFloor) const
Definition CharacterMovementComponentAsync.cpp:3719
float BrakingSubStepTime
Definition CharacterMovementComponentAsync.h:433
virtual ENGINE_API void ComputeFloorDist(const FVector &CapsuleLocation, float LineDistance, float SweepDistance, FFindFloorResult &OutFloorResult, float SweepRadius, FCharacterMovementComponentAsyncOutput &Output, const FHitResult *DownwardSweepResult=nullptr) const
Definition CharacterMovementComponentAsync.cpp:1863
ENGINE_API ETeleportType GetTeleportType(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3708
float MaxAcceleration
Definition CharacterMovementComponentAsync.h:411
float MaxDepenetrationWithGeometryAsProxy
Definition CharacterMovementComponentAsync.h:438
virtual ENGINE_API bool IsValidLandingSpot(const FVector &CapsuleLocation, const FHitResult &Hit, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4014
bool bAllowPhysicsRotationDuringAnimRootMotion
Definition CharacterMovementComponentAsync.h:456
virtual ENGINE_API void UpdateCharacterStateAfterMovement(float DeltaSeconds, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:2079
ENGINE_API FVector GetPawnCapsuleExtent(const EShrinkCapsuleExtent ShrinkMode, const float CustomShrinkAmount, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3575
virtual ENGINE_API FVector GetLedgeMove(const FVector &OldLocation, const FVector &Delta, const FVector &GravDir, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3526
bool bUseFlatBaseForFloorChecks
Definition CharacterMovementComponentAsync.h:423
ENGINE_API FVector CalcAnimRootMotionVelocity(const FVector &RootMotionDeltaMove, float DeltaSeconds, const FVector &CurrentVelocity) const
Definition CharacterMovementComponentAsync.cpp:4376
virtual ENGINE_API void PhysicsRotation(float DeltaTime, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:1284
ENGINE_API FVector MoveComponent_GetPenetrationAdjustment(FHitResult &HitResult) const
Definition CharacterMovementComponentAsync.cpp:2487
virtual ENGINE_API bool ResolvePenetration(const FVector &Adjustment, const FHitResult &Hit, const FQuat &NewRotation, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:2385
virtual ENGINE_API void MaybeUpdateBasedMovement(float DeltaSeconds, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:466
FCharacterMovementGTInputs GTInputs
Definition CharacterMovementComponentAsync.h:489
bool bInitialized
Definition CharacterMovementComponentAsync.h:403
ENGINE_API void RestorePreAdditiveRootMotionVelocity(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4281
FComponentQueryParams QueryParams
Definition CharacterMovementComponentAsync.h:479
bool bIsNetModeClient
Definition CharacterMovementComponentAsync.h:407
float BrakingFrictionFactor
Definition CharacterMovementComponentAsync.h:431
virtual ENGINE_API bool CanStepUp(const FHitResult &Hit, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3249
virtual ENGINE_API FVector HandleSlopeBoosting(const FVector &SlideResult, const FVector &Delta, const float Time, const FVector &Normal, const FHitResult &Hit, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3176
FRootMotionAsyncData RootMotion
Definition CharacterMovementComponentAsync.h:468
virtual ENGINE_API bool DoJump(bool bReplayingMoves, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4186
float BrakingDecelerationWalking
Definition CharacterMovementComponentAsync.h:434
virtual ENGINE_API bool IsCrouching(const FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4233
virtual ENGINE_API bool MoveUpdatedComponent(const FVector &Delta, const FQuat &NewRotation, bool bSweep, FCharacterMovementComponentAsyncOutput &Output, FHitResult *OutHitResult=nullptr, ETeleportType TeleportType=ETeleportType::None) const
Definition CharacterMovementComponentAsync.cpp:1548
virtual ENGINE_API void SetDefaultMovementMode(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4136
virtual ENGINE_API void OnMovementModeChanged(EMovementMode PreviousMovementMode, uint8 PreviousCustomMode, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:1659
virtual ENGINE_API bool IsFlying(const FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4243
virtual ENGINE_API bool IsWithinEdgeTolerance(const FVector &CapsuleLocation, const FVector &TestImpactPoint, const float CapsuleRadius) const
Definition CharacterMovementComponentAsync.cpp:2034
virtual ENGINE_API bool ShouldRemainVertical(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4173
ENGINE_API void RevertMove(const FVector &OldLocation, UPrimitiveComponent *OldBase, const FVector &PreviousBaseLocation, const FFindFloorResult &OldFloor, bool bFailMove, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3661
float AirControlBoostMultiplier
Definition CharacterMovementComponentAsync.h:447
virtual ENGINE_API void StartFalling(int32 Iterations, float remainingTime, float timeTick, const FVector &Delta, const FVector &subLoc, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3724
virtual ENGINE_API FVector GetAirControl(float DeltaTime, float TickAirControl, const FVector &FallAcceleration, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4389
FVector InputVector
Definition CharacterMovementComponentAsync.h:405
virtual ENGINE_API float ComputeAnalogInputModifier(FVector Acceleration) const
Definition CharacterMovementComponentAsync.cpp:1489
bool bRunPhysicsWithNoController
Definition CharacterMovementComponentAsync.h:409
UWorld * World
Definition CharacterMovementComponentAsync.h:475
FRandomStream RandomStream
Definition CharacterMovementComponentAsync.h:483
virtual ENGINE_API FVector GetPenetrationAdjustment(FHitResult &HitResult) const
Definition CharacterMovementComponentAsync.cpp:2365
ENGINE_API FVector ConstrainAnimRootMotionVelocity(const FVector &RootMotionVelocity, const FVector &CurrentVelocity, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4363
float FallingLateralFriction
Definition CharacterMovementComponentAsync.h:454
virtual ENGINE_API FVector ScaleInputAcceleration(FVector InputAcceleration, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:1484
float BrakingDecelerationSwimming
Definition CharacterMovementComponentAsync.h:436
virtual ENGINE_API float GetSimulationTimeStep(float RemainingTime, int32 Iterations) const
Definition CharacterMovementComponentAsync.cpp:2093
virtual ENGINE_API bool IsFalling(const FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4238
TSharedPtr< FCharacterMovementComponentAsyncOutput, ESPMode::ThreadSafe > AsyncSimState
Definition CharacterMovementComponentAsync.h:487
virtual ENGINE_API FVector ComputeSlideVector(const FVector &Delta, const float Time, const FVector &Normal, const FHitResult &Hit, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3163
float WalkableFloorZ
Definition CharacterMovementComponentAsync.h:422
virtual ENGINE_API bool ApplyRequestedMove(float DeltaTime, float MaxAccel, float MaxSpeed, float Friction, float BrakingDeceleration, FVector &OutAcceleration, float &OutRequestedSpeed, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:2224
float MaxCustomMovementSpeed
Definition CharacterMovementComponentAsync.h:466
virtual ENGINE_API FVector GetFallingLateralAcceleration(float DeltaTime, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3932
float BrakingFriction
Definition CharacterMovementComponentAsync.h:432
float MaxSimulationTimeStep
Definition CharacterMovementComponentAsync.h:427
virtual ENGINE_API FVector ConstrainNormalToPlane(FVector Normal) const
Definition CharacterMovementComponentAsync.cpp:1510
virtual ENGINE_API float GetMaxBrakingDeceleration(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:2290
virtual ~FCharacterMovementComponentAsyncInput()
Definition CharacterMovementComponentAsync.h:491
virtual ENGINE_API FVector LimitAirControl(float DeltaTime, const FVector &FallAcceleration, const FHitResult &HitResult, bool bCheckForValidLandingSpot, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3963
float PerchAdditionalHeight
Definition CharacterMovementComponentAsync.h:459
float MaxDepenetrationWithPawnAsProxy
Definition CharacterMovementComponentAsync.h:441
virtual ENGINE_API void HandleWalkingOffLedge(const FVector &PreviousFloorImpactNormal, const FVector &PreviousFloorContactNormal, const FVector &PreviousLocation, float TimeDelta) const
Definition CharacterMovementComponentAsync.cpp:3714
const FRotator & GetRotationRate(const FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.h:620
virtual ENGINE_API float GetMinAnalogSpeed(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:2277
ENGINE_API FCollisionShape GetPawnCapsuleCollisionShape(const EShrinkCapsuleExtent ShrinkMode, FCharacterMovementComponentAsyncOutput &Output, const float CustomShrinkAmount=0.0f) const
Definition CharacterMovementComponentAsync.cpp:3620
virtual ENGINE_API void HandleImpact(const FHitResult &Impact, FCharacterMovementComponentAsyncOutput &Output, float TimeSlice=0.0f, const FVector &MoveDelta=FVector::ZeroVector) const
Definition CharacterMovementComponentAsync.cpp:3094
void Reset()
Definition CharacterMovementComponentAsync.h:500
FVector PlaneConstraintOrigin
Definition CharacterMovementComponentAsync.h:417
bool bMovementStateCanJump
Definition CharacterMovementComponentAsync.h:461
bool bAlwaysCheckFloor
Definition CharacterMovementComponentAsync.h:421
virtual ENGINE_API bool CheckLedgeDirection(const FVector &OldLocation, const FVector &SideStep, const FVector &GravDir, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:3551
virtual ENGINE_API void ControlledCharacterMove(const float DeltaSeconds, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:81
virtual ENGINE_API void MaintainHorizontalGroundVelocity(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:1531
virtual ENGINE_API void StartNewPhysics(float deltaTime, int32 Iterations, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:669
bool bIgnoreBaseRotation
Definition CharacterMovementComponentAsync.h:413
ENGINE_API FVector MoveComponent_ComputeSlideVector(const FVector &Delta, const float Time, const FVector &Normal, const FHitResult &Hit, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:2555
virtual ENGINE_API bool FloorSweepTest(struct FHitResult &OutHit, const FVector &Start, const FVector &End, ECollisionChannel TraceChannel, const struct FCollisionShape &CollisionShape, const struct FCollisionQueryParams &Params, const struct FCollisionResponseParams &ResponseParam, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:2005
EMovementMode DefaultLandMovementMode
Definition CharacterMovementComponentAsync.h:453
virtual ENGINE_API FVector ConstrainInputAcceleration(FVector InputAcceleration, const FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:1473
virtual ENGINE_API bool CanCrouchInCurrentState(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:1462
bool bConstrainToPlane
Definition CharacterMovementComponentAsync.h:416
virtual ENGINE_API bool SafeMoveUpdatedComponent(const FVector &Delta, const FQuat &NewRotation, bool bSweep, FHitResult &OutHit, FCharacterMovementComponentAsyncOutput &Output, ETeleportType Teleport=ETeleportType::None) const
Definition CharacterMovementComponentAsync.cpp:1554
virtual ENGINE_API bool CanAttemptJump(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:4179
virtual ENGINE_API void PhysFalling(float deltaTime, int32 Iterations, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:972
float AirControlBoostVelocityThreshold
Definition CharacterMovementComponentAsync.h:448
float LedgeCheckThreshold
Definition CharacterMovementComponentAsync.h:444
virtual ENGINE_API void MoveAlongFloor(const FVector &InVelocity, float DeltaSeconds, FStepDownResult *OutStepDownResult, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:1356
float PerchRadiusThreshold
Definition CharacterMovementComponentAsync.h:445
Definition CharacterMovementComponentAsync.h:155
EMoveComponentFlags MoveComponentFlags
Definition CharacterMovementComponentAsync.h:198
static float GetAxisDeltaRotation(float InAxisRotationRate, float InDeltaTime)
Definition CharacterMovementComponentAsync.cpp:4634
bool bRequestedMoveWithMaxSpeed
Definition CharacterMovementComponentAsync.h:211
FQuat DeltaQuat
Definition CharacterMovementComponentAsync.h:218
bool bShouldDisablePostPhysicsTick
Definition CharacterMovementComponentAsync.h:229
FUpdatedComponentAsyncOutput UpdatedComponentOutput
Definition CharacterMovementComponentAsync.h:236
void Reset()
Definition CharacterMovementComponentAsync.h:175
static FRotator GetDeltaRotation(const FRotator &InRotationRate, float InDeltaTime)
Definition CharacterMovementComponentAsync.cpp:4629
bool bMovementInProgress
Definition CharacterMovementComponentAsync.h:208
bool bDeferUpdateBasedMovement
Definition CharacterMovementComponentAsync.h:197
FVector Acceleration
Definition CharacterMovementComponentAsync.h:188
bool bIsAdditiveVelocityApplied
Definition CharacterMovementComponentAsync.h:196
virtual ~FCharacterMovementComponentAsyncOutput()
Definition CharacterMovementComponentAsync.h:172
float ScaledCapsuleRadius
Definition CharacterMovementComponentAsync.h:204
bool bCrouchMaintainsBaseLocation
Definition CharacterMovementComponentAsync.h:202
float AnalogInputModifier
Definition CharacterMovementComponentAsync.h:189
bool bShouldRemoveMovementBaseTickDependency
Definition CharacterMovementComponentAsync.h:232
bool bUsingModifiedRotationRate
Definition CharacterMovementComponentAsync.h:225
FCharacterMovementComponentAsyncOutput(TUniquePtr< FCharacterOutput > &&InCharacterOutput)
Definition CharacterMovementComponentAsync.h:165
FVector LastUpdateVelocity
Definition CharacterMovementComponentAsync.h:192
bool bWantsToCrouch
Definition CharacterMovementComponentAsync.h:207
EMovementMode GroundMovementMode
Definition CharacterMovementComponentAsync.h:186
FVector PendingForceToApply
Definition CharacterMovementComponentAsync.h:199
float DeltaTime
Definition CharacterMovementComponentAsync.h:219
FQuat LastUpdateRotation
Definition CharacterMovementComponentAsync.h:191
FVector DeltaPosition
Definition CharacterMovementComponentAsync.h:217
UPrimitiveComponent * NewMovementBase
Definition CharacterMovementComponentAsync.h:233
TUniquePtr< FCharacterAsyncOutput > CharacterOutput
Definition CharacterMovementComponentAsync.h:237
bool bShouldApplyDeltaToMeshPhysicsTransforms
Definition CharacterMovementComponentAsync.h:216
FVector LastUpdateLocation
Definition CharacterMovementComponentAsync.h:190
uint8 CustomMovementMode
Definition CharacterMovementComponentAsync.h:187
bool bWasSimulatingRootMotion
Definition CharacterMovementComponentAsync.h:184
FVector LastUpdateRequestedVelocity
Definition CharacterMovementComponentAsync.h:213
bool bJustTeleported
Definition CharacterMovementComponentAsync.h:203
int32 NumJumpApexAttempts
Definition CharacterMovementComponentAsync.h:214
bool bHasRequestedVelocity
Definition CharacterMovementComponentAsync.h:210
bool bForceNextFloorCheck
Definition CharacterMovementComponentAsync.h:193
FVector PendingLaunchVelocity
Definition CharacterMovementComponentAsync.h:201
FVector OldLocation
Definition CharacterMovementComponentAsync.h:221
FVector Velocity
Definition CharacterMovementComponentAsync.h:194
FVector OldVelocity
Definition CharacterMovementComponentAsync.h:220
FCharacterMovementComponentAsyncOutput()
Definition CharacterMovementComponentAsync.h:158
FVector AnimRootMotionVelocity
Definition CharacterMovementComponentAsync.h:215
FVector PendingImpulseToApply
Definition CharacterMovementComponentAsync.h:200
FVector RequestedVelocity
Definition CharacterMovementComponentAsync.h:212
FVector LastPreAdditiveVelocity
Definition CharacterMovementComponentAsync.h:195
bool bShouldAddMovementBaseTickDependency
Definition CharacterMovementComponentAsync.h:231
EMovementMode MovementMode
Definition CharacterMovementComponentAsync.h:185
bool bIsCrouched
Definition CharacterMovementComponentAsync.h:206
bool IsValid() const
Definition CharacterMovementComponentAsync.h:179
AActor * NewMovementBaseOwner
Definition CharacterMovementComponentAsync.h:234
bool bIsValid
Definition CharacterMovementComponentAsync.h:239
float ScaledCapsuleHalfHeight
Definition CharacterMovementComponentAsync.h:205
bool bShouldEnablePostPhysicsTick
Definition CharacterMovementComponentAsync.h:230
FFindFloorResult CurrentFloor
Definition CharacterMovementComponentAsync.h:209
FRotator ModifiedRotationRate
Definition CharacterMovementComponentAsync.h:224
Definition CharacterMovementComponentAsync.h:371
bool bPressedJump
Definition CharacterMovementComponentAsync.h:378
bool bWantsToCrouch
Definition CharacterMovementComponentAsync.h:372
void UpdateOutput(FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.h:380
EMovementMode MovementMode
Definition CharacterMovementComponentAsync.h:375
bool bValidMovementMode
Definition CharacterMovementComponentAsync.h:374
Definition CollisionQueryParams.h:43
Definition CollisionQueryParams.h:324
Definition CollisionShape.h:21
Definition CollisionQueryParams.h:297
Definition OverlapInfo.h:47
Definition CharacterMovementComponentAsync.h:29
bool IsWalkableFloor() const
Definition CharacterMovementComponentAsync.h:72
float GetDistanceToFloor() const
Definition CharacterMovementComponentAsync.h:88
void Clear()
Definition CharacterMovementComponentAsync.h:77
Definition HitResult.h:21
Definition OverlapInfo.h:14
Definition RandomStream.h:20
Definition CharacterMovementComponentAsync.h:270
bool bHasAdditiveRootMotion
Definition CharacterMovementComponentAsync.h:274
float TimeAccumulated
Definition CharacterMovementComponentAsync.h:280
FVector AdditiveVelocity
Definition CharacterMovementComponentAsync.h:276
bool bUseSensitiveLiftoff
Definition CharacterMovementComponentAsync.h:275
FTransform AnimTransform
Definition CharacterMovementComponentAsync.h:279
bool bHasAnimRootMotion
Definition CharacterMovementComponentAsync.h:271
bool bHasOverrideWithIgnoreZAccumulate
Definition CharacterMovementComponentAsync.h:273
FVector OverrideVelocity
Definition CharacterMovementComponentAsync.h:277
bool bHasOverrideRootMotion
Definition CharacterMovementComponentAsync.h:272
FQuat OverrideRotation
Definition CharacterMovementComponentAsync.h:278
FRootMotionAsyncData()
Definition CharacterMovementComponentAsync.h:296
void Clear()
Definition CharacterMovementComponentAsync.h:282
Definition CharacterMovementComponentAsync.h:102
FStepDownResult()
Definition CharacterMovementComponentAsync.h:106
uint32 bComputedFloor
Definition CharacterMovementComponentAsync.h:103
FFindFloorResult FloorResult
Definition CharacterMovementComponentAsync.h:104
Definition CharacterMovementComponentAsync.h:329
FComponentQueryParams MoveComponentQueryParams
Definition CharacterMovementComponentAsync.h:356
ENGINE_API void SetPosition(const FVector &Position) const
Definition CharacterMovementComponentAsync.cpp:3019
FVector GetForwardVector() const
Definition CharacterMovementComponentAsync.h:342
FCollisionShape CollisionShape
Definition CharacterMovementComponentAsync.h:362
ENGINE_API void SetRotation(const FQuat &Rotation) const
Definition CharacterMovementComponentAsync.cpp:3056
bool bIsSimulatingPhysics
Definition CharacterMovementComponentAsync.h:353
FPhysicsActorHandle PhysicsHandle
Definition CharacterMovementComponentAsync.h:360
FVector GetRightVector() const
Definition CharacterMovementComponentAsync.h:343
UPrimitiveComponent * UpdatedComponent
Definition CharacterMovementComponentAsync.h:359
static ENGINE_API void PullBackHit(FHitResult &Hit, const FVector &Start, const FVector &End, const float Dist)
Definition CharacterMovementComponentAsync.cpp:2914
FVector GetUpVector() const
Definition CharacterMovementComponentAsync.h:344
bool bGatherOverlaps
Definition CharacterMovementComponentAsync.h:364
static ENGINE_API bool ShouldCheckOverlapFlagToQueueOverlaps(const UPrimitiveComponent &ThisComponent)
Definition CharacterMovementComponentAsync.cpp:2920
virtual ~FUpdatedComponentAsyncInput()
Definition CharacterMovementComponentAsync.h:330
static ENGINE_API bool ShouldIgnoreOverlapResult(const UWorld *World, const AActor *ThisActor, const UPrimitiveComponent &ThisComponent, const AActor *OtherActor, const UPrimitiveComponent &OtherComponent)
Definition CharacterMovementComponentAsync.cpp:2987
ENGINE_API FVector GetPosition() const
Definition CharacterMovementComponentAsync.cpp:3046
static ENGINE_API bool ShouldIgnoreHitResult(const UWorld *InWorld, FHitResult const &TestHit, FVector const &MovementDirDenormalized, const AActor *MovingActor, EMoveComponentFlags MoveFlags)
Definition CharacterMovementComponentAsync.cpp:2931
virtual ENGINE_API bool MoveComponent(const FVector &Delta, const FQuat &NewRotationQuat, bool bSweep, FHitResult *OutHit, EMoveComponentFlags MoveFlags, ETeleportType Teleport, const FCharacterMovementComponentAsyncInput &Input, FCharacterMovementComponentAsyncOutput &Output) const
Definition CharacterMovementComponentAsync.cpp:2568
bool bForceGatherOverlaps
Definition CharacterMovementComponentAsync.h:363
FCollisionResponseParams MoveComponentCollisionResponseParams
Definition CharacterMovementComponentAsync.h:357
FVector Scale
Definition CharacterMovementComponentAsync.h:365
virtual ENGINE_API bool AreSymmetricRotations(const FQuat &A, const FQuat &B, const FVector &Scale3D) const
Definition CharacterMovementComponentAsync.cpp:2901
ENGINE_API FQuat GetRotation() const
Definition CharacterMovementComponentAsync.cpp:3083
bool bIsQueryCollisionEnabled
Definition CharacterMovementComponentAsync.h:352
Definition CharacterMovementComponentAsync.h:128
int32 IndexOfOverlap(const FOverlapInfo &SearchItem)
Definition CharacterMovementComponentAsync.h:137
void AddUniqueSpeculativeOverlap(const FOverlapInfo &NewOverlap)
Definition CharacterMovementComponentAsync.h:144
TArray< FOverlapInfo > SpeculativeOverlaps
Definition CharacterMovementComponentAsync.h:134
UE_FORCEINLINE_HINT TVector< T > GetAxisZ() const
Definition Quat.h:1310
UE_FORCEINLINE_HINT TVector< T > GetAxisX() const
Definition Quat.h:1296
UE_FORCEINLINE_HINT TVector< T > GetAxisY() const
Definition Quat.h:1303
static CORE_API const TQuat< double > Identity
Definition Quat.h:63
static CORE_API const TTransform< double > Identity
Definition TransformNonVectorized.h:58
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79