Skip to content

Releases: Sixze/ALS-Refactored

4.15

24 Nov 13:15
Compare
Choose a tag to compare

Notable Changes

  • Updated the plugin to Unreal Engine 5.5.

Animation Blueprint

  • Improved teleportation detection logic.
  • Fixed an issue with character pose when stopping at low fps.

Bone Manipulation

  • Reworked the foot offset so that it produces a higher quality result and handles more corner cases.

Character

  • Added automatic rotation of the character towards the view direction on any movement input while the character is not moving.
  • Prevented the character from rotating in the last input direction after the rotation mode had been changed to the velocity direction and the actor was not moving at that moment.

Camera

  • Enforced VisibilityBasedAnimTickOption::AlwaysTickPoseAndRefreshBones in the camera component.
  • Fixed weird camera movement when switching between the first-person view mode and the velocity direction rotation mode.
  • Removed the camera lag substepping as it is useless.

Other

  • Updated the ALS_ENSURE() macro to include the latest changes of the ensure() macro.

4.14

24 Aug 16:13
Compare
Choose a tag to compare

Notable Changes

  • Updated the plugin to Unreal Engine 5.4.
  • Added automatic generation of foot sync markers using B_Als_AnimationModifier_FootSyncMarkers.
  • Reworked spine rotation logic to achieve smoother spine rotation when aiming stops.
  • Reimplemented foot offset and foot constraints as custom Control Rig nodes.
  • Added foot locking constraints to prevent legs from twisting into a spiral when the actor rotates quickly.
  • Added support for direction-dependent movement speed.
  • Reworked the aiming constraints to remove sudden changes in actor rotation.
  • Added the ability to change the camera's field of view at runtime.

Animations

  • Enabled the Animation Compression Library plugin and used for bone compression in all animations. Curves still use default compression as ACL does not support constant curve interpolation.
  • Set bIsNativeBranchingPoint to false on some animation notifies that do not affect the playback of the montage they are used in.
  • Disabled triggering of the Footstep Effects and Camera Shake animation notifies on a dedicated server.

Animation Blueprint

  • Reworked UAlsAnimationInstance so that most of its functions are called from animation blueprints only when needed.
  • Added the UAlsLinkedAnimationInstance::GetParent() function and deprecated UAlsLinkedAnimationInstance::GetParentUnsafe().
  • Assigned a tag to every Linked Anim Graph node in AB_Als so that they can be overridden using the USkeletalMeshComponent::LinkAnimGraphByTag() function.
  • Enabled linked animation layer instance sharing.
  • Fixed inability to rotate in place while landing.
  • Fixed an editor crash caused by a missing world in UAnimInstance.

Bone Manipulation

  • Fixed twisted character legs by disabling the execution of CR_Als in the editor world.
  • Fixed FAlsControlRigInput can't be used as a variable type in Control Rig.

Character

  • Removed unnecessary rotation mode changes when switching movement direction while sprinting.
  • Reviewed default settings of UAlsCharacterMovementComponent.
  • Added the bAllowImprovedPenetrationAdjustment setting to UAlsCharacterMovementComponent.
  • Slightly improved the synchronization of actor rotation over the network.
  • Fixed movement lags that could occur on the client at high fps.

Locomotion Actions

  • Added a simple physics asset validation for ragdolling.
  • Fixed a crash on ragdolling start when no physical asset is assigned.
  • Fixed some issues with ragdolling on stairs.
  • Keep the actor's Z axis always aligned with the gravity direction while mantling.
  • Fixed actor shaking while mantling.
  • Fixed mantling montage does not interrupt other animation montages when played.

Footstep Effects

  • Fixed footstep effects may spawn multiple times within a very short period of time during movement stop.

Camera

  • Added a separate blueprint for the camera component with pre-configured settings.
  • Added the FovOffset camera animation curve.
  • Exposed UAlsCameraComponent to blueprints.
  • Marked the UAlsCameraComponent::GetViewInfo() function as BlueprintPure.
  • Fixed camera penetrating geometry in some rare cases.

Other

  • Renamed the M4 and M9 overlay modes to Rifle and Pistol respectively.
  • Added basic support for the Iris replication system.
  • Improved support of Unreal Insights profiling.
  • Split UAlsMath and UAlsUtility into smaller separate classes.
  • Updated the ALS_ENSURE() macro to include the latest changes of the ensure() macro.
  • Added proper handling of input cancellation.
  • Made input functions virtual.
  • Set sound waves compression type to RAD Audio.

4.13

12 Nov 11:52
Compare
Choose a tag to compare

Notable Changes

  • Updated the plugin to Unreal Engine 5.3.
  • Added the ability to limit foot rotation so that it does not assume an unnatural pose when on a highly sloped surface.
  • Added support for automatic calculation of mantling start time.
  • Removed the need for an interpolation curve, overlay curve, and initial relative location for mantling. Made correction curves optional.
  • Fixed desynchronization of the mantling animation montage with the mantling root motion source.
  • Reworked ragdolling. Now when activated, the character's mesh detaches from the capsule and remains fixed in place, so changes to the actor's transform no longer affect the mesh in any way.

Animation Blueprint

  • Replaced the use of animation state events with animation node functions.
  • Moved layering-related Slot nodes from AB_Als to AB_Als_Layering.
  • Allowed root motion from montages in linked animation instances.
  • Slightly improved spine rotation logic.
  • Fixed character taking a T-pose for a moment after spawn.

Bone Manipulation

  • Reworked the way foot locking is temporarily paused when rotating in place to reduce glitches such as foot teleportation.
  • Removed the influence of foot offset on its location along the X and Y axes.
  • Slightly optimized foot offset logic.
  • Improved handling of collinear points in FAlsRigUnit_CalculatePoleVector.
  • Fixed potential issues related to the use of negative animation curves in CR_Als.

Character

  • Improved character rotation logic to prevent situations where the lower body noticeably fails to keep up with the rotation of the upper body when the camera is rotating very fast while aiming.
  • Improved handling of zero time dilation.
  • Added replication of server-initiated changes to OverlayMode and some other variables to the autonomous proxy.
  • Fixed ReplicatedViewRotation not being replicated by the listen server in some cases.
  • Fixed mesh rotation could be out of sync with actor rotation if the animation blueprint is not ticking.
  • Fixed incorrect rotation of the mesh within one frame after toggling its absolute rotation.
  • Fixed character rotation jitter that occurs when standing on a rotating object.

Locomotion Actions

  • Added ability to restrict mantling on sloped surfaces with complex geometry, such as stairs.
  • Added support for destruction of the object the character is mantling on.
  • Added prohibition on applying ragdoll transform corrections until RagdollTargetLocation has been replicated for the first time.
  • Fixed the ability to mantle through the ceiling.
  • Fixed mantling does not take into account the play rate of the animation montage.
  • Fixed RagdollTargetLocation not updating on non-locally controlled characters.
  • Fixed incorrect rotation of the character on clients when playing a get up mon

Footstep Effects

  • Refactored UAlsAnimNotify_FootstepEffects.
  • Added prohibition on spawning footstep effects if no surface is found or if the angle between the Z axis of the foot and the surface normal exceeds some threshold value.

Other

  • Disabled replication of B_Als_RotatingObject and B_Als_MovingObject since they do not replicate anything.
  • Replaced the use of EObjectTypeQuery and ETraceTypeQuery with ECollisionChannel.
  • Fixed inactive curves not being displayed in the Curves debug mode category.

4.12

11 Jun 12:11
Compare
Choose a tag to compare

Notable Changes

  • Updated plugin to Unreal Engine 5.2.
  • Merged the Look Towards Input and Look Towards Camera view states together into a single state.
  • Moved Slot animation graph nodes to linked animation instances as they are now properly supported here.
  • Removed the Suppress Additive Warnings node because the warnings have finally been fixed.
  • Fixed character moving diagonally instead of in a straight line relative to the camera when standing on a rotating object.
  • Fixed a crash that sometimes occurs when calling USkeletalMeshComponent::UpdateRBJointMotors().

Skeleton

  • Refactored PA_Als.
  • Fixed deprecation warnings in B_Als_SkeletonAssetActions.

Animation Blueprint

  • Fixed deprecation warnings in UAlsAnimationModifier_CalculateRotationYawSpeed.

Bone Manipulation

  • Migrated rig units to the new API.

Character

  • Configured input action descriptions.
  • Moved input-related logic from AAlsCharacter::RefreshLocomotion() into a separate overridable function.
  • Made some functions in AAlsCharacter protected instead of private.

Locomotion Actions

  • Made the initial ragdoll speed limit hack optional.

Other

  • Refactored ALS_ENSURE().
  • Replaced the uses of FRotator with FRotator3f.
  • Updated modules loading phase.

4.11

08 Apr 14:58
Compare
Choose a tag to compare

Notable Changes

  • Updated plugin to Unreal Engine 5.1.
  • Added a skeleton asset action that can help set up all the necessary skeleton stuff: animation curves, slots, virtual bones, etc. It can be accessed by right-clicking on the skeleton asset -> Scripted Asset Actions -> Setup Als Skeleton.
  • Added the Als prefix to asset names to make it easier to distinguish them from game assets or assets from other plugins.
  • Simplified stance animation instances by removing some unnecessary state machines and layers that were used to organize the animation graph.
  • Fixed root motion not working properly on simulated proxies.
  • Fixed an issue with mantling on sloped surfaces (@ameaninglessname contribution).
  • Fixed mantling, ragdolling and ground prediction not working properly if the character is overlapped by something.

Animations

  • Configured the bLoop setting in animation sequences and blend spaces.

Skeleton

  • Updated existing blending profiles to include virtual bones.

Animation Blueprint

  • Set bAdditiveNode to true in Blend Multi nodes that blend additive animations.
  • Replaced the use of animation node functions with Call Function animation nodes.
  • Replaced some uses of the Blendspace Player node with Blendspace Evaluator.
  • Optimized UAlsAnimationInstance::RefreshLayering() and UAlsAnimationInstance::RefreshPose().
  • Improved performance by moving some thread safe blueprint functions to C++.
  • Fixed character getting stuck in ragdolling mode on clients due to UAlsAnimationInstance::FinalizeRagdolling() not being called in some cases.

Bone Manipulation

  • Refactored CR_Als.
  • Added Transient to UPROPERTY of non-input variables in control rig units.
  • Improved performance by passing input to Control Rig through a single structure rather than through individual variables.

Character

  • Added movement base support to the character.
  • Added a setting to inherit the movement base rotation when in the velocity direction rotation mode.
  • Added a setting to rotate towards the desired velocity when in the velocity direction rotation mode.
  • Reworked teleportation detection logic.
  • Reduced mouse sensitivity as the default value is too high.
  • Use the Scale by Delta Time input modifier with input actions instead of manually scaling action values by delta time.
  • Renamed the Als.RotationMode.LookingDirection gameplay tag to Als.RotationMode.ViewDirection to better convey the essence of this rotation mode.
  • Renamed FAlsBasedMovementState to FAlsMovementBaseState and moved it into a separate file.
  • Renamed RawViewRotation to ReplicatedViewRotation.
  • Removed VisibleDefaultsOnly from UPROPERTY of the AlsCharacterMovement variable as this causes duplicate properties to be displayed in the details view.
  • Removed the rotation lock feature as it has not been used for a long time and therefore there is no guarantee of its correct functioning.
  • Optimized some redundant component rotation changes and FQuat to FRotator conversions.
  • Improved performance by enabling USkeletalMeshComponent::bUpdateJointsFromAnimation only when it is really necessary.
  • Improved performance by using absolute rotation of the mesh component only when it is really necessary.
  • Fixed an issue with network smoothing when crouching while the root motion montage is playing.
  • Fixed crashes caused by not fully configured movement settings.
  • Fixed a potential crash when accessing UEnhancedInputLocalPlayerSubsystem.

Locomotion Actions

  • Fixed incorrect rotation of the mesh component at the beginning of the mantle when using absolute rotation.

Footstep Effects

  • Fixed incorrect rotation of the footstep particle system on the right foot.

Camera

  • Added movement base support to the camera component.
  • Added teleportation support to the camera component.
  • Added ignore of time dilation when controlling the camera with a gamepad or keyboard.
  • Improved performance by performing camera calculations only after parallel animation evaluation is completed.
  • Fixed incorrect parameters of the UAlsCameraComponent::SetPostProcessWeight() function.

Other

  • Added BuildPlugin.bat.
  • Refactored MetaSound assets and updated their naming style.
  • Updated the ALS_ENSURE() macro to include the latest changes of the ensure() macro and to properly support concatenation of string literals with the __FUNCTION__ macro and other similar macros.
  • Replaced the use of FVector with FVector3f and FVector2D with FVector2f in the settings variables.

4.10

17 Sep 16:07
Compare
Choose a tag to compare

This is a maintenance release, mostly only with bug fixes and minor improvements.

Notable Changes

  • Adapted Lyra asset naming conventions.

Animation Blueprint

  • Reworked spine and head rotation logic to make it more reliable and less buggy.
  • Added blocking of look towards the input direction when the character is in the air to prevent head rotation "snap" when changing look sides.
  • Added missing Inertialization animation graph nodes to some animation blueprints.

Character

  • Added blocking of character rotation towards the last input direction after landing to prevent legs from twisting into a spiral while the landing animation is playing.
  • Updated gamepad key bindings.
  • Improved support for different character mesh scales.
  • Fixed the ability to uncrouch under low surfaces.

Camera

  • Added a setting to ignore time dilation in the camera component.
  • Removed the camera component's dependency on the AAlsCharacter class and use ACharacter instead.
  • Removed additional view rotation smoothing and instead use raw view rotation (with network smoothing) in the animation instance and camera component.
  • Disabled camera rotation lag when in first person mode.
  • Improved performance by disabling the camera component on AI characters.
  • Fixed an issue with camera initialization with non-default desired rotation mode.

Other

  • Added L_Grid level.
  • Made some class members protected instead of private for easier customization in inherited classes.
  • Specified an explicit UPROPERTY category for all struct members exposed to blueprints.
  • Replaced the ensure() macro with a less annoying ALS_ENSURE() macro.
  • Fixed a potential compilation error due to missing GameplayTags module.
  • Fixed potential compilation errors on non-MSVC compilers.

4.9

28 Jun 14:02
Compare
Choose a tag to compare
4.9

Notable Changes

  • Updated plugin to Unreal Engine 5.0.
  • Replaced legacy input system with the Enhanced Input plugin.
  • Replaced all sound cues with MetaSounds.
  • Improved support for Large World Coordinates.
  • Improved property access performance in linked animation blueprints by reading variables from the parent animation instance directly, instead of copying them in the game thread and reading the copies.
  • Moved thread-safe animation instance logic to the worker thread to improve game thread performance.
  • Use animation layer interfaces to dynamically switch overlay states at runtime instead of referencing them directly in animation blueprints.
  • Restored the original monolithic animation blueprint for cases where performance is top priority, since using linked animation instances comes with some overhead.
  • Replaced most of the remaining enums with gameplay tags
  • Reworked foot and pelvis offset logic for smoother character movement on stairs or sloped surfaces.
  • Added rotation of the character towards the last input direction when not moving in velocity direction rotation mode.
  • Fixed issues with foot locking and character rotation on the listen server or when Update Rate Optimization is enabled.
  • Suppressed "Trying to play a non-additive animation into a pose that is expected to be additive" warnings.

Skeleton

  • Renamed the FullBody animation slot to PostLocomotion.
  • Renamed the AimBlock animation curve to ViewBlock.
  • Renamed the AimManual animation curve to AllowAiming.
  • Renamed some virtual bones.

Animation Blueprint

  • Reworked view animation instance logic.
  • Improved layering.
  • Improved interpolation logic of some animation instance variables.
  • Use animation node functions instead of animation notifies where possible.
  • Simplified some animation state machines by using state aliases.
  • Slightly optimized the Blend Poses by Gameplay Tag and Blend Curves animation graph nodes.
  • Added separate animation sequences for dynamic transitions.
  • Fixed a crash when using the ShowDebug Animation console command.
  • Fixed an issue with movement animations that may occur during transitions to grounded states.
  • Fixed an issue with character pose when transitioning from jump to land state.
  • Fixed an issue with character pose when stopping at low fps.
  • Fixed an issue with knees when landing while aiming.

Bone Manipulation

  • Refactored CR_Als.
  • Improved foot locking teleportation logic.
  • Fixed noticeable leg stretching on movement start at low fps.
  • Fixed an issue with knees in foot IK when landing.

Character

  • Reworked view network smoothing and added support for smoothing on the listen server.
  • Keep the USkinnedMeshComponent::VisibilityBasedAnimTickOption setting unchanged, at least if it doesn't need to be changed for the plugin to work properly.
  • Exposed the UAlsCharacterMovementComponent::SetMovementSettings() function to blueprints.
  • Fixed glitchy character pushing by moving objects.
  • Fixed an issue with teleportation of simulated proxies.
  • Fixed an issue with view rotation initialization.

Locomotion Actions

  • Fixed character mesh jitter when rolling on clients.
  • Fixed very high initial ragdoll speed at unstable fps.

Footstep Effects

  • Fixed incorrect alignment of footstep effects on sloped surfaces.

Other

  • Renamed the ALSExample module to ALSExtras.
  • Added new objects to the Playground level to test foot and pelvis offsets.
  • Enabled the One File Per Actor feature on the Playground level.
  • Refactored UI widgets.

4.8

27 Feb 14:33
Compare
Choose a tag to compare
4.8

This is the final release for Unreal Engine 4.26, 4.27 and 5.0 Early Access. All future releases will require Unreal Engine 5.0 or later.

Notable Changes

  • Split the ABP_Als animation blueprint into separate linked animation blueprints.
  • Added a Blend Poses by Gameplay Tag animation graph node.
  • Eliminated the need for many animation montages for proper locomotion actions blending with overlay states.
  • Incorporated new UCharacterMovementComponent features introduced in Unreal Engine 4.26 into the UAlsCharacterMovementComponent for better movement synchronization over the network.
  • Replaced the EAlsLocomotionMode enum with Als.LocomotionMode gameplay tags.
  • Replaced the EAlsLocomotionAction enum with Als.LocomotionAction gameplay tags.
  • Reimplemented mantling as a root motion source for better movement synchronization over the network.
  • Moved settings from AAlsCharacter, UAlsAnimationInstance and UAlsCamerComponent into separate data assets.

Skeleton

  • Added separate animation slots for standing and crouching turns in place.
  • Renamed the FullBodyAction animation slot to FullBody.
  • Renamed the GaitAmount animation curve to PoseGait.

Animation Blueprint

  • Added correct reinitialization of any time-dependent animation instance variables if it haven't been updated for a long time or if this is the first update since the start of the game.
  • Removed caching of some variables inside the animation instance because the animation blueprint can instead read them directly from the character.

Bone Manipulation

  • Added spring interpolation for foot and pelvis offsets for smoother pelvis movement, especially when walking up stairs.
  • Added support for character teleportation with active foot locking.
  • Fixed an issue with foot locking when the animation blueprint hasn't been updated for a long time.
  • Fixed an issue with foot locking when standing on rotating objects.
  • Fixed an issue with foot locking when crouching and uncrouching.
  • Fixed an issue with foot locking when trying to move after landing.

Character

  • Added view rotation interpolation on simulated proxies for smoother rotation under poor network conditions.
  • Added support for different character mesh scales (uniform scale only).
  • Improved EMovementMode related logic.
  • Refactored character rotation logic.
  • Make sure all 180 rotations will be counterclockwise rotations.
  • Fixed incorrect application of local character rotation on autonomous proxies.
  • Fixed an issue with character rotation on the listen server and simulated proxies.
  • Fixed character immobility issue in custom movement mode (@a-sennov contribution).
  • Fixed editor crash inside AAlsCharacter::PostInitializeComponents() function.

Locomotion Actions

  • Refactored locomotion actions.
  • Added a change of the character's movement base during mantling to reduce foot locking glitches after mantling end.
  • Improved roll rotation logic to reduce lags in network multiplayer.
  • Removed Mantling and Ragdolling entries from EAlsLocomotionMode enum.
  • Fixed incorrect mantling interruption by other locomotion actions.
  • Fixed incorrect initial roll direction after landing.
  • Fixed an issue with character pose when transitioning from ragdoll to animation state.

Footstep Effects

  • Fixed incorrect footstep decal location in A_Als_Mantle_High animation sequence.

Other

  • Improved BP_SimpleMovingObject movement synchronization between clients and server.
  • Renamed the FAlsMovementState structure to FAlsGroundedState and moved some variables from FAlsLocomotionAnimationState structure.
  • Renamed the FAlsMovementAnimationSettings structure to FAlsGroundedSettings and moved some variables from FAlsGeneralAnimationSettings structure.
  • Renamed some Movement folders to Grounded.
  • Updated Playground level.
  • Fixed Linux and Android compilation issues (@Alex-G contribution).
  • Fixed Unreal Engine 5 Early Access compilation and packaging issues.

4.7

22 Oct 12:00
Compare
Choose a tag to compare
4.7

Notable Changes

  • Added a Blend Curves animation graph node that allows to blend animation curves without the need for the VB curves virtual bone.
  • Added bUseHandIkBones and bUseFootIkBones settings, that allow to eliminate the need for IK bones and instead use only virtual bones for all bone manipulation tasks.
  • Replaced the EAlsGroundedEntryMode enum with Als.GroundedEntryMode gameplay tags.
  • Moved code related to locomotion actions and debug into separate .cpp files.
  • Improved foot locking reliability when standing on movable objects (especially in network multiplayer).

Skeleton

  • Renamed the VB curves virtual bone to VB ik_foot_root.

Animation Blueprint

  • Added separate transition animations for crouching stance.
  • Improved transitions from roll to grounded states.
  • Fixed an issue with left foot when stopping.
  • Fixed incorrect initial values of "Slot" animation curves.
  • Fixed incorrect transition from get-up montage to standing states.

Bone Manipulation

  • Added disabling of foot locking when rotating at a large angle to prevent the legs from twisting into a spiral.
  • Optimized foot locking for cases when standing on static objects.

Character

  • Refactored character rotation logic.
  • Set the VisibilityBasedAnimTickOption setting to EVisibilityBasedAnimTickOption::AlwaysTickPoseAndRefreshBones on the server when the character is not moving and skip character rotation modification using the RotationYawSpeed animation curve when the animation blueprint hasn't updated yet.
  • Fixed desync issues between clients and the server.
  • Fixed an issue with view rotation replication when bReplicateMovement is set to false.

Locomotion Actions

  • Removed the timeline component requirement for the mantling.
  • Optimized mantling logic.

Camera

  • Added camera trace "smoothing".
  • Added experimental camera lag substepping for better frame rate independence (disabled by default because exponential decay already provides good frame rate independence).
  • Added camera post-processing settings.
  • Improved camera initialization.
  • Moved camera logic into separate functions.
  • Fixed an issue with camera rotation interpolation.

Footstep Effects

  • Added a bSkipEffectsWhenInAir setting.
  • Added smooth disappearance of footstep decals over time.
  • Added reuse of trace hit results from foot IK logic in cases where possible.
  • Improved footstep effect animation notify timings in animation sequences.
  • Restored the TriggerWeightThreshold setting values in animation sequences to the values from the original project.
  • Fixed an issue with retrieving physical material from footstep traces.
  • Fixed an issue where footstep effects were not triggered in situations where the trace hit result was invalid.
  • Fixed incorrect footstep decal alignment on sloped surfaces.
  • Fixed broken playback of footstep effects in the animation editor.

Other

  • Added a EObjectTypeQuery array setting for mantling, ragdolling, and ground prediction traces.
  • Reintroduced AI example.
  • Reintroduced ambient sound on the Playground level.
  • Refactored assets in the ALSExtras folder.
  • Moved files from the ALS folder to the repository root folder.
  • Fixed Unreal Engine 5 Early Access compilation issues.

4.6

28 Aug 12:08
Compare
Choose a tag to compare
4.6

Notable Changes

  • Added a set of new "Slot" layering animation curves that allow to control blending of overlay poses with animation montages played inside "Layering" slots (originally in ALS, non-additive animation montage completely overrides overlay poses, and there was no way to control this).
  • Replaced the EAlsOverlayMode enum with Als.OverlayMode gameplay tags.
  • Use the Control Rig plugin for IK and other bone manipulation tasks instead of animation graph nodes.
  • Combined the skeleton with the gun bone and the skeleton without it into one skeleton and added a bUseGunBone setting to the CR_Als control rig blueprint.

Animations

  • Fixed an issue with pistol one-handed overlay mode animations.

Skeleton

  • Restored original blend profiles.
  • Changed bone translation retargeting mode to Orient and Scale for better retargeting quality.

Animations

  • Added new settings to UAlsAnimationModifier_CreateCurves and UAlsAnimationModifier_CreateLayeringCurves animation modifiers.

Animation Blueprint

  • Added aiming update blocking during any active locomotion action.
  • Refactored rotate in place logic for smoother rotation.
  • Fixed incorrect RotationYawOffset curve modification inside standing movement states that leads to incorrect character rotation when running backwards.

Bone Manipulation

  • Added disabling of foot locking when the character is in the air.
  • Improved foot IK logic to fix some animation retargeting issues.

Character

  • Added a bUseGunBoneForOverlayObjects setting.
  • Added a slight delay before sprint start to give the player enough time to start the roll by double-clicking the sprint button instead.
  • Refactored character rotation logic.

Locomotion Actions

  • Added a bAllowMantling setting to FAlsGeneralMantlingSettings structure.
  • Added a bInterruptRollingWhenInAir setting to FAlsRollingSettings structure.
  • Added forced interruption of any active locomotion action at the start of the ragdolling without waiting for the UAlsAnimNotifyState_SetLocomotionAction animation notify to end.
  • Better handle situations where mantling, ragdolling or rolling starts on server and client at the same time and independently of each other.
  • Removed the ability to start mantling when the character stands next to an obstacle and jumps in the opposite direction from it.
  • Fixed an issue with mantling on non-uniformed scaled objects.

Camera

  • Use raw view rotation instead of smoothed for locally controlled characters.
  • Reduced camera lag when aiming or in first person view mode.
  • Added override of camera's trace start location when rolling or ragdolling.
  • Fixed an issue where the camera could get stuck or pass through geometry if the camera's trace start location intersects the geometry.

Footstep Effects

  • Fixed an issue where footstep effects could be applied while the character is in the air.

Other

  • Added some overridable virtual functions to AAlsCharacter and UAlsAnimationInstance classes.
  • Renamed some structs, variables, and assets to better distinguish them from aiming rotation mode.
  • Removed the FAlsPropertyAccessConstants structure.
  • Fixed Linux and Android compilation issues (@Alex-G contribution).