|
| const float | CharacterMovementConstants::MAX_STEP_SIDE_Z = 0.08f |
| |
| const float | CharacterMovementConstants::SWIMBOBSPEED = -80.f |
| |
| const float | CharacterMovementConstants::VERTICAL_SLOPE_NORMAL_Z = 0.001f |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetUsePackedMovementRPCs (TEXT("p.NetUsePackedMovementRPCs"), NetUsePackedMovementRPCs, TEXT("0: Disable, 1: Enable"), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetPackedMovementMaxBits (TEXT("p.NetPackedMovementMaxBits"), NetPackedMovementMaxBits, TEXT("Max number of bits allowed in each packed movement RPC. Used to protect against bad data causing the server to allocate too much memory.\n"), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetEnableListenServerSmoothing (TEXT("p.NetEnableListenServerSmoothing"), NetEnableListenServerSmoothing, TEXT("0: Disable, 1: Enable"), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetEnableSkipProxyPredictionOnNetUpdate (TEXT("p.NetEnableSkipProxyPredictionOnNetUpdate"), NetEnableSkipProxyPredictionOnNetUpdate, TEXT("0: Disable, 1: Enable"), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarEnableQueuedAnimEventsOnServer (TEXT("a.EnableQueuedAnimEventsOnServer"), EnableQueuedAnimEventsOnServer, TEXT("0: Disable, 1: Enable"), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarStuckWarningPeriod (TEXT("p.CharacterStuckWarningPeriod"), StuckWarningPeriod, TEXT("<0: Disable, >=0: Enable and log this often, in seconds."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetEnableMoveCombining (TEXT("p.NetEnableMoveCombining"), NetEnableMoveCombining, TEXT("0: Disable, 1: Enable"), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetEnableMoveCombiningOnStaticBaseChange (TEXT("p.NetEnableMoveCombiningOnStaticBaseChange"), NetEnableMoveCombiningOnStaticBaseChange, TEXT("0: Disable, 1: Enable"), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetMoveCombiningAttachedLocationTolerance (TEXT("p.NetMoveCombiningAttachedLocationTolerance"), NetMoveCombiningAttachedLocationTolerance, TEXT("Tolerance for relative location attachment change when combining moves. Small tolerances allow for very slight jitter due to transform updates."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetMoveCombiningAttachedRotationTolerance (TEXT("p.NetMoveCombiningAttachedRotationTolerance"), NetMoveCombiningAttachedRotationTolerance, TEXT("Tolerance for relative rotation attachment change when combining moves. Small tolerances allow for very slight jitter due to transform updates."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetStationaryRotationTolerance (TEXT("p.NetStationaryRotationTolerance"), NetStationaryRotationTolerance, TEXT("Tolerance for GetClientNetSendDeltaTime() to remain throttled when small control rotation changes occur."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetUseClientTimestampForReplicatedTransform (TEXT("p.NetUseClientTimestampForReplicatedTransform"), NetUseClientTimestampForReplicatedTransform, TEXT("0: Disable, 1: Enable"), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetServerForcePositionUpdateSyncToClient (TEXT("p.NetServerForcePositionUpdateSyncToClient"), bNetServerForcePositionUpdateSyncToClient, TEXT("If enabled, the server will always sync to the client timestamp when receiving a valid move after forcing updates (true is the old default behavior).\n"), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetServerMaxMoveDeltaTimeScalar (TEXT("p.NetServerMaxMoveDeltaTimeScalar"), NetServerMaxMoveDeltaTimeScalar, TEXT("Allows the server to accept longer moves than the client is normally allowed to send, to avoid corrections (a value of 1 is old default behavior).\n"), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarReplayLerpAcceleration (TEXT("p.ReplayLerpAcceleration"), ReplayLerpAcceleration, TEXT(""), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarFixReplayOverSampling (TEXT("p.FixReplayOverSampling"), FixReplayOverSampling, TEXT("If 1, remove invalid replay samples that can occur due to oversampling (sampling at higher rate than physics is being ticked)"), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarForceJumpPeakSubstep (TEXT("p.ForceJumpPeakSubstep"), ForceJumpPeakSubstep, TEXT("If 1, force a jump substep to always reach the peak position of a jump, which can often be cut off as framerate lowers."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetServerMoveTimestampExpiredWarningThreshold (TEXT("net.NetServerMoveTimestampExpiredWarningThreshold"), NetServerMoveTimestampExpiredWarningThreshold, TEXT("Tolerance for ServerMove() to warn when client moves are expired more than this time threshold behind the server."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarAsyncCharacterMovement (TEXT("p.AsyncCharacterMovement"), AsyncCharacterMovement, TEXT("1 enables asynchronous simulation of character movement on physics thread. Toggling this at runtime is not recommended. This feature is not fully developed, and its use is discouraged.")) |
| |
| int32 | CharacterMovementCVars::BasedMovementMode = 2 |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarBasedMovementMode (TEXT("p.BasedMovementMode"), BasedMovementMode, TEXT("0 means always on regular tick (default); 1 means only if not deferring updates; 2 means update and save based movement both on regular ticks and post physics when on a physics base.")) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetUseBaseRelativeAcceleration (TEXT("p.NetUseBaseRelativeAcceleration"), NetUseBaseRelativeAcceleration, TEXT("If enabled, character acceleration will be treated as relative to dynamic movement bases.")) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetUseBaseRelativeVelocity (TEXT("p.NetUseBaseRelativeVelocity"), NetUseBaseRelativeVelocity, TEXT("If enabled, character velocity corrections will be treated as relative to dynamic movement bases.")) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarUseTargetVelocityOnImpact (TEXT("p.UseTargetVelocityOnImpact"), UseTargetVelocityOnImpact, TEXT("When disabled, we recalculate velocity after impact by comparing our position before we moved to our position after we moved. This doesn't work correctly when colliding with physics objects, so setting this to 1 fixes this one the hit object is moving.")) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarClientAuthorityThresholdOnBaseChange (TEXT("p.ClientAuthorityThresholdOnBaseChange"), ClientAuthorityThresholdOnBaseChange, TEXT("When a pawn moves onto or off of a moving base, this can cause an abrupt correction. In these cases, trust the client up to this distance away from the server component location."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarMaxFallingCorrectionLeash (TEXT("p.MaxFallingCorrectionLeash"), MaxFallingCorrectionLeash, TEXT("When airborne, some distance between the server and client locations may remain to avoid sudden corrections as clients jump from moving bases. This value is the maximum allowed distance."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarMaxFallingCorrectionLeashBuffer (TEXT("p.MaxFallingCorrectionLeashBuffer"), MaxFallingCorrectionLeashBuffer, TEXT("To avoid constant corrections, when an airborne server and client are further than p.MaxFallingCorrectionLeash cm apart, they'll be pulled in to that distance minus this value."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarAddFormerBaseVelocityToRootMotionOverrideWhenFalling (TEXT("p.AddFormerBaseVelocityToRootMotionOverrideWhenFalling"), bAddFormerBaseVelocityToRootMotionOverrideWhenFalling, TEXT("To avoid sudden velocity changes when a root motion source moves the pawn from a moving base to free fall, this CVar will enable the FormerBaseVelocityDecayHalfLife property on CharacterMovementComponent."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarGeometryCollectionImpulseWorkAround (TEXT("p.CVarGeometryCollectionImpulseWorkAround"), bGeometryCollectionImpulseWorkAround, TEXT("This enabled a workaround to allow impulses to be applied to geometry collection.\n"), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarUseLastGoodRotationDuringCorrection (TEXT("p.UseLastGoodRotationDuringCorrection"), bUseLastGoodRotationDuringCorrection, TEXT("When enabled, during a correction, restore the last good rotation before re-simulating saved moves if the server didn't specify one. This improves visual quality with options like bOrientToMovement or bUseControllerDesiredRotation that rotate over time."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarPreventNonVerticalOrientationBlock (TEXT("p.PreventNonVerticalOrientationBlock"), bPreventNonVerticalOrientationBlock, TEXT("When enabled, this allows a character that's supposed to remain vertical to snap to a vertical orientation even if RotationRate settings would block it. See @ShouldRemainVertical and @RotationRate."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarDeferCharacterMeshMovement (TEXT("p.DeferCharacterMeshMovement"), bDeferCharacterMeshMovement, TEXT("Optimization - When enabled, defers CharacterMesh move propagation until the end of larger scoped moves. The mesh will still move, but all attached components will wait until all mesh movement is done within the scope."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarDeferCharacterMeshMovementForAllCorrections (TEXT("p.DeferCharacterMeshMovementForAllCorrections"), bDeferCharacterMeshMovementForAllCorrections, TEXT("Optimization - When enabled, defers CharacterMesh move propagation for all corrections until the end of larger scoped moves. Requires `bDeferCharacterMeshMovement=true'."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarLedgeMovementDetectEdgeNormal (TEXT("p.LedgeMovement.DetectEdgeNormal"), bLedgeMovementDetectEdgeNormal, TEXT("Detect the normal of the ledge when avoiding walking off ledges, to try to find a better movement direction."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarLedgeMovementApplyDirectMove (TEXT("p.LedgeMovement.ApplyDirectMove"), bLedgeMovementApplyDirectMove, TEXT("Apply the ledge movement vector directly, rather than the old method that reapplied acceleration."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarEnableClientAuthScheduledPushForces (TEXT("np2.CMC.EnableClientAuthScheduledPushForces"), bEnableClientAuthScheduledPushForces, TEXT("Enable a client-authoritative network flow for adding forces to pushed physics objects, requires physics prediction to be enabled in the project settings. NOTE: This is not recommended for networked physics and can produce inconsistency bugs where the client adds multiple forces for a single physics tick on the server, especially if async physics is not enabled."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarApplyCharacterCollisionForceAsImpulse (TEXT("p.ApplyCharacterCollisionForceAsImpulse"), bApplyCharacterCollisionForceAsImpulse, TEXT("Whether to apply character impact physics force as impulse when the object hit is not moving."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarResetJumpStateDuringResimIfNotFalling (TEXT("p.ResetJumpStateDuringResimIfNotFalling"), bResetJumpStateDuringResimIfNotFalling, TEXT("If true, we'll reset jump state during a correction & resimulation if not falling (e.g. walking). This fixes a bug that locks jump input, which could occur under poor net conditions."), ECVF_Default) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarRestoreFloorWhenMissingBaseComponent (TEXT("p.RestoreFloorWhenMissingBaseComponent"), bRestoreFloorWhenMissingBaseComponent, TEXT("If true, when we have a valid floor result, but no PrimitiveComponent, try to keep the CurrentFloorValid if possible."), ECVF_Default) |
| |
| int32 | CharacterMovementCVars::NetShowCorrections = 0 |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetShowCorrections (TEXT("p.NetShowCorrections"), NetShowCorrections, TEXT("0: Disable, 1: Enable"), ECVF_Cheat) |
| |
| float | CharacterMovementCVars::NetCorrectionLifetime = 4.f |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetCorrectionLifetime (TEXT("p.NetCorrectionLifetime"), NetCorrectionLifetime, TEXT("Time in seconds each visualized network correction persists."), ECVF_Cheat) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetForceClientAdjustmentPercent (TEXT("p.NetForceClientAdjustmentPercent"), NetForceClientAdjustmentPercent, TEXT("<=0: Disable, 0.05: 5% of checks will return failed, 1.0: Always send client adjustments"), ECVF_Cheat) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetForceClientServerMoveLossPercent (TEXT("p.NetForceClientServerMoveLossPercent"), NetForceClientServerMoveLossPercent, TEXT("<=0: Disable, 0.05: 5% of checks will return failed, 1.0: never send server moves"), ECVF_Cheat) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetForceClientServerMoveLossDuration (TEXT("p.NetForceClientServerMoveLossDuration"), NetForceClientServerMoveLossDuration, TEXT("Duration of zero means single frame loss."), ECVF_Cheat) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarVisualizeMovement (TEXT("p.VisualizeMovement"), VisualizeMovement, TEXT("0: Disable, 1: Enable"), ECVF_Cheat) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarNetVisualizeSimulatedCorrections (TEXT("p.NetVisualizeSimulatedCorrections"), NetVisualizeSimulatedCorrections, TEXT("0: Disable, 1: Enable"), ECVF_Cheat) |
| |
| FAutoConsoleVariableRef | CharacterMovementCVars::CVarDebugTimeDiscrepancy (TEXT("p.DebugTimeDiscrepancy"), DebugTimeDiscrepancy, TEXT("0: Disable, 1: Enable Detection logging, 2: Enable Detection and Resolution logging"), ECVF_Cheat) |
| |