Where to Go From Here
Motix has several moving parts. This page is a map.
"I just want to play an animation."
Start at Getting Started. You need three things: an initialized registry, a built behavior, and a controller. The main doc covers all of them in order and gets you to a working animation in under 30 lines.
"My animations are not blending correctly."
Read Layers and Blending. Layers determine which animations can play simultaneously and how their weights combine. If two animations on the same layer are fighting each other, layer order and base weights are where to look.
"I need animations that switch automatically based on character state."
That is what the state machine is for. State Machine and Transitions covers how to define states, write predicates, set up entry and exit actions, and force transitions from code.
"I want only one animation to play at a time in a category."
Use exclusive groups. Animations in the same
group compete by priority. The highest-priority animation wins; lower-priority requests are
deferred or rejected. StopGroup clears all of them at once.
"I need to replicate animations across server and client."
Networking and Trust explains how MotixNet works: why animation hashes replace full config tables in network packets, how the owning client sends intents automatically, how other clients replay them, and what each rejection reason means.
"I want to look up every animation field."
TypeDefinitions documents every field on AnimationConfig, LayerProfile,
StateDefinition, and TransitionRule.
"I want to build behaviors with typed setters and validation."
BehaviorBuilder is the fluent builder. Chain :Animation(), :Layer(),
:State(), :Predicate(), and :InitialState(), then call :Build() to produce a validated
frozen behavior. Every field is covered by a typed setter.
The sub-builders are documented inline on the BehaviorBuilder page.
"I need to look up enum values."
Enums documents every named constant table exposed on Motix.Enums.
"I want to understand the AnimationController API."
AnimationController documents Play, Stop, PlayTag, StopGroup,
RequestStateTransition, GetActiveGroupAnimMap, and Destroy, along with the OnPlay and
OnStop signals.
"I need to initialize the global animation registry."
AnimationRegistry documents GetInstance, Init, GetByName,
GetByTag, and GetByGroup. The registry must be initialized before any controller is created.
Quick Reference
| I want to... | Go to |
|---|---|
| Play an animation | Getting Started |
| Blend animations on separate layers | Layers and Blending |
| Drive animations from character state | State Machine and Transitions |
| Enforce one animation per category | Groups |
| Replicate animations over the network | Networking and Trust |
| Look up every animation field | TypeDefinitions |
| Build behaviors with typed setters | BehaviorBuilder |
| Look up enum values | Enums |
| Read the full controller API | AnimationController |
| Initialize the animation registry | AnimationRegistry |
| Set up MotixNet networking | MotixNet |