FPS Copy Bones
FPS Copy Bones seeds the weapon and hand IK targets from the current Animator pose. It must be the first modifier in the list — every other FPS modifier reads the IK targets that this one writes.Copy From
Transform
The animated bone that carries weapon movement. Set this to IK weapon_bone_r — the dynamic bone that stores the weapon pose relative to the right hand.
Transform
The character skeleton’s right hand bone as driven by the Animator.
Transform
The character skeleton’s left hand bone as driven by the Animator.
Copy To
Transform
Set to IK weapon_bone. Receives the weapon animated transform so downstream modifiers can apply sway, recoil, and ADS on top of the original pose.
Transform
Set to IK weapon_bone_aim. Receives the weapon idle pose and is used by the ADS Modifier as the reference position for computing aim alignment.
Transform
Set to IK hand_r and IK hand_l respectively. These become the targets for the arm IK solvers.
Attach Left Hand
Attach Left Hand resolves the final left-hand grip position. It checks the active weapon for a custom grip attachment and, when one is present, overrides the default IK target with the weapon-specific pose. Run this after FPS Copy Bones so the default fallback pose is already populated.Transform
The fallback IK target used when no custom grip attachment is active. Set to IK hand_l_r — the dynamic bone that stores the left-hand pose relative to the right hand.
Transform
The left-hand IK target that the arm IK solver reads. Set to IK hand_l.
Transform
Reference to IK weapon_bone. Used to compute the hand position in weapon-local space.
Transform[]
A bone chain covering the left-hand finger bones. When a custom Hand Pose clip is assigned, CAS samples the clip and applies it to these bones to curl or extend the fingers around the grip.
AnimationClip
The grip pose animation clip provided by the active weapon’s Grip Attachment. Poses the left hand and fingers for the specific grip point on this weapon.
Transform
The world-space transform on the weapon prefab that the left hand is pulled toward. Supplied by the active Grip Attachment component. When null, the modifier falls back to Default Hand Bone.
FPS Offset
FPS Offset applies positional and rotational offsets to the weapon and hand IK targets. Use it to tune the weapon’s resting position in first-person view, adjust the hand grip orientation, or switch the entire weapon pose between gameplay states using Weight Overrides. You can add multiple FPS Offset instances to the same PA_ asset — for example one for first-person aiming, one for first-person hip fire, and one for third-person — and then use Weight Overrides to activate only the appropriate one at runtime.Bones
Transform
Set to IK weapon_bone. The offset is applied to this transform in component space.
Transform
Set to IK weapon_bone_aim. Also receives the weapon offset to keep the ADS reference in sync.
Transform
Set to IK hand_r and IK hand_l. Hand offsets are applied relative to the weapon bone.
Offsets
Pose (position + rotation)
Rotation and translation offset for IK weapon_bone in component space. Bind this from a weapon data ScriptableObject or your character controller so different weapons carry their own offsets without requiring separate PA_ assets.
Pose (position + rotation)
Rotation and translation offset for IK hand_r relative to the weapon bone.
Pose (position + rotation)
Rotation and translation offset for IK hand_l relative to the weapon bone.
ADS Modifier
ADS Modifier procedurally aligns any optic or iron sight with the camera to simulate aiming down sights. It translates and rotatesIK weapon_bone so the point defined by Aim Point lands exactly on the camera’s forward axis.
Inputs
Transform
The transform on the weapon prefab that should be centred in the camera view when aiming. For iron sights this is typically the rear sight notch or front post. For optics it is the lens centre. Bind this from the weapon component so each weapon provides its own aim point.
bool
Whether the player is currently aiming. Bind from your player controller or weapon component. When false the modifier blends back to the hip-fire pose.
Bones
Transform
The bone that is translated and rotated to align sights. Set to IK weapon_bone.
Transform
Used to compute the additive aiming offset. Set to IK weapon_bone_r.
Transform
The camera socket or head bone that represents the player’s view direction. The modifier aligns Aim Point with this transform’s forward axis.
ADS Blends
float [0–1]
Controls how much of the positional aim alignment is applied. At 1 the weapon translation is fully overridden; at 0 the position is entirely additive on top of the base pose.
float [0–1]
Same as Position Blend but for the rotation axis. Mix absolute and additive rotation to control how much the weapon tilts back toward its animated orientation during actions like reloading.
float
Playback rate of the ADS transition animation. Higher values snap into the aimed pose faster.
EaseMode
The interpolation function for the ADS blend-in and blend-out transition.
float
How quickly the aim reference follows a new Aim Point transform when swapping weapons or attachments.
EaseMode
The interpolation function for the aim point transition.
float [0–1]
At 0 the weapon moves to align its sights with a stationary camera. At 1 the camera moves instead. Intermediate values split the motion between weapon and camera.
Sway Modifier
Sway Modifier applies spring-based translational and angular offsets to the weapon as the player looks around and moves. It creates the organic feeling that the weapon has physical inertia and does not rigidly track the camera. It also supports additive curve animations for movement cycles or idle breathing layered on top of the spring sway.Bones
Transform
The bone that receives the sway offset. Set to IK weapon_bone.
Transform (optional)
An optional secondary bone that drives additive curve animations, such as a breathing or movement cycle. Leave empty if you only need spring sway.
Inputs
Vector2
The frame-delta of the player’s look input. Bind from your camera or input controller. The magnitude drives spring sway intensity.
Vector2
The player’s normalised movement direction input. Used to drive movement-direction sway so the weapon lags behind as the player strafes or sprints.
bool
When true, aiming-specific sway multipliers are applied, typically producing a tighter, smaller sway envelope.
Spring Sway
Each of Movement Sway and Aiming Sway has separate Position and Rotation sub-sections with the following properties:float [0–1]
Oscillation suppression factor. Higher values dissipate the spring energy faster. A value around 0.4–0.5 tends to feel most natural.
float [0–1]
Oscillation frequency factor. Higher values make the spring snap back faster. Keeping Stiffness slightly above Damping (around 0.6–0.7) adds that characteristic jiggle or bounce.
float
How fast the spring moves toward its target value. Setting different values for position and rotation sway adds variety and reduces the mechanical feel.
float
Final multiplier applied to all sway values after spring solving.
float
How quickly the sway interpolates back to zero when there is no input.
Space enum
The space in which sway is applied. Component is correct for most cases. Use Bone if you want the bone’s local rotation to affect the sway direction.
Curve Animation
Pose
Transforms the additive animation from a custom coordinate space. Use this when the movement animation was authored in a space that does not match the weapon bone’s default orientation.
float
Scales the influence of additive curve animations when the player is aiming down sights.
float
Interpolation speed for transitioning between the hip-fire and ADS curve scale values.
Weapon Collision
Weapon Collision prevents the weapon from clipping through walls, cover, and other geometry by performing a sphere-cast in front of the weapon and pushing it back when the cast hits something. Place this modifier after the Look Modifier and after the IK solvers so it operates on the final character pose.float [-90–90]
The player’s current vertical look angle. When positive (looking up) the Primary Pose is applied; when negative (looking down) the Secondary Pose is applied instead. This distinction lets you tuck the weapon differently depending on whether the player is looking over cover or crouching under something.
Pose
The weapon offset applied when the sphere-cast hits an obstacle while the player is looking upward or horizontally.
Pose
The weapon offset applied when the sphere-cast hits an obstacle while the player is looking downward.
Space enum
The space in which the collision pose is applied. Set to Component in most cases.
float
Smoothing speed for transitioning into and out of the collision pose. Set to zero for instant snapping.
LayerMask
The physics layers the sphere-cast will test against. Exclude the player’s own layer and any layers that should not trigger weapon retraction.
float
Forward offset from the weapon origin where the ray begins. Increase this if the cast is triggering against the player’s own collider.
float
The length of the sphere-cast trace. Bind this from a weapon component if different weapons have different barrel lengths.
float
The radius of the sphere used in the sphere-cast. Larger values detect obstacles earlier but may trigger false positives in tight corridors.
IK Motions
IK Motion plays a dynamic additive animation on an IK bone. It is used for any motion that should blend in and out on demand — aiming, drawing, and holstering are the most common use cases. Unlike other CAS modifiers, IK Motion can be instantiated as a standalone ScriptableObject via Create → KINEMATION → CAS → Addons → FPS → IK Motion.Transform
The IK bone this motion drives. For aiming and draw/holster motions this is typically
IK weapon_bone.VectorCurve
Animation curves defining the additive rotation over the motion’s duration.
VectorCurve
Animation curves defining the additive translation over the motion’s duration.
Vector3
Per-axis scale multipliers for the rotation curves. Adjust these to control the final magnitude without editing the curves directly.
Vector3
Per-axis scale multipliers for the translation curves.
float
Time in seconds to blend the motion in from zero influence to full influence.
float
Playback speed multiplier. Values above 1 play faster; values below 1 play slower.
bool
When enabled, the motion automatically blends back out to zero influence when the animation curves reach their end. Disable this for looping motions or motions that should hold their final pose until manually stopped.
UpdateAnimationModifier on the Procedural Animation component and pass the IK Motion ScriptableObject instance. For draw and holster motions this is typically triggered from the weapon equip and unequip callbacks in your game logic.