Skip to main content

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 animationGetting Started
Blend animations on separate layersLayers and Blending
Drive animations from character stateState Machine and Transitions
Enforce one animation per categoryGroups
Replicate animations over the networkNetworking and Trust
Look up every animation fieldTypeDefinitions
Build behaviors with typed settersBehaviorBuilder
Look up enum valuesEnums
Read the full controller APIAnimationController
Initialize the animation registryAnimationRegistry
Set up MotixNet networkingMotixNet