Skip to main content

Animation pipeline

GameplayAnimationController extends the character Animator with ordered Playable outputs. The original Animator remains responsible for locomotion. Gameplay Framework layers item poses and actions over that result, then runs the procedural feature stack. The controller rebuilds its outputs if another system recreates the Animator Playable Graph at runtime. The skeleton map identifies the locomotion chains, hands, fingers, feet, weapon bone, additive weapon bone, and IK targets. Humanoid characters can map standard bones through the Animator. Generic characters use the explicit transform mapping created during character setup.

Gameplay animation assets

GameplayAnimationAsset wraps an AnimationClip with the playback data required by the graph. GameplayCharacterItemClip keeps the character-side asset, item-side asset, and sound together. GameplayItemView.PlayCharacterItemAnimation starts both animations and plays the sound from one call. GetLength() returns the longer character or item duration, which the example controller uses to lock conflicting actions.

Overlay and full-body actions

  • Overlay actions enter the overlay slot and use the asset’s Avatar Mask. Use this for draw, fire, reload, inspect, and similar upper-body actions that should preserve locomotion.
  • Full Body actions enter a separate full-body output. Use this when the action must replace locomotion completely.
  • The active procedural asset supplies the idle overlay pose or overlay Animator Controller used between actions.

Animation overrides

Before an asset, clip, or Animator Controller reaches the graph, GameplayAnimationController checks its GameplayAnimationOverride list in order. The first override that contains a replacement wins. This is how retargeted assets replace the original pack animations without editing weapon prefabs. Item scale is resolved from the override whose source config contains the active procedural asset’s idle pose or overlay controller. If exactly one override exists, it is also used as the fallback scale.

Runtime API

Call PlayAnimation and StopAnimation on the character controller. Pass the original pack asset; the controller resolves any active retargeting override automatically.
PlayAnimation returns false when the controller graph is not initialized or the asset is invalid. Keep gameplay state changes conditional on a successful call when animation timing controls the action.

Sci-Fi asset conventions

Character-side assets use the A_FP_* prefix. Weapon-side assets use A_W_*. Pair the two assets in the corresponding GameplayCharacterItemClip field on the weapon view. The source animation catalog is Assets/KINEMATION/SciFiPack/Animations/Sci-Fi_FPS_Pack.asset. Retargeting creates replacement GameplayAnimationAsset and Animator Controller entries in your selected generated folder. The active GameplayAnimationOverride resolves those replacements at runtime. Use Overlay for the supplied weapon actions. Keep locomotion in the character Animator so the upper-body action and lower-body movement can run together.