For the complete documentation index, see llms.txt. This page is also available as Markdown.

🐺Animal Controller

A data-driven Unity character controller for creatures, humanoids, AI, and interactions.

Animal Controller

Animal Controller is a data-driven character controller for Unity.

It drives locomotion, combat, AI, and interactions for any creature. This includes bipeds, quadrupeds, birds, fish, dragons, and humanoids.

Use modular ScriptableObject assets to configure behavior with little or no code.

Whether you build a player hero, wildlife, or an AI boss, use MAnimal. You assemble assets instead of writing scripts.

What it is for

Animal Controller provides physics-based movement and actions for game characters.

  • Player characters — locomotion, jumping, climbing, swimming, flying, combat, and items.

  • Any creature type — ground alignment, water surfaces, and flight work through States.

  • AI characters — enemies, companions, and wildlife use the built-in AI Brain.

  • Interactive characters — NPCs and objects can react to triggers and interactions.

If it moves, fights, or reacts in your scene, Animal Controller can drive it.

What’s included

Animal Controller is a complete character framework.

  • Locomotion State Machine — Idle, Locomotion, Jump, Fall, Climb, Glide, Swim, Fly, Rail Grind, Ledge Grab, and more.

  • AI Brain — data-driven states, tasks, decisions, waypoints, and target detection.

  • Combat and damage — damagers, damageables, critical hits, and hit reactions.

  • Stats — health, stamina, mana, custom stats, regeneration, degeneration, and modifiers.

  • Modes (Abilities) — attacks, dodges, casts, and layered actions.

  • Super Item and Weapons — modular equipment for weapons, tools, and projectiles.

  • Interactions, Reactions, and Zones — scene-driven behavior without code.

  • IK and aiming — foot placement, aim, and procedural adjustments.

  • Integrations — Unity Input System, Cinemachine, Final IK, Animation Rigging, and more.

Core idea: data-driven behavior

The framework uses ScriptableObjects throughout.

A State, Mode, AI Task, and Stat are assets in your project. Drag them onto a character to define its behavior.

  • Assemble assets instead of writing scripts. Add a Climb State to enable climbing.

  • Reuse assets across characters. Update one Jump State to update every character using it.

  • Extend any system when needed. Create custom States, Modes, AI Tasks, Decisions, Item Processors, or Reactions.

The three core concepts

Animal Controller organizes character animation around States, Modes, and Stances.

Concept
What it is
Examples

State

A primary action. Only one State is fully active at a time.

Idle, Locomotion, Jump, Fall, Climb, Swim, Fly

Mode (Ability)

An action layered over the current State.

Attack, Dodge, Cast Spell, Drink, Emote

Stance

An animation variation that changes style, not the active action.

Crouch, Injured, Combat, Bipedal

States are what the character does. Modes are actions performed during a State. Stances define how the character performs them.

How it works

MAnimal works alongside an Animator and a Rigidbody.

  • The Animator plays animations and sends tags back to MAnimal.

  • The Rigidbody handles physics interactions with the world.

  • MAnimal manages rotation, root motion, and code-driven movement.

States, Modes, and Stances determine movement and animation blending.

Setup requirements

MAnimal, an Animator, and a Rigidbody must sit at the same hierarchy level.

Animator component

Rigidbody

The Rigidbody lets the character interact with rigidbodies and static scene objects.

MAnimal manages rotation. Freeze all Rigidbody rotation constraints.

Colliders

For bipeds and quadrupeds, add colliders to major bones such as the Spine and Head. You can also use one Capsule Collider on the root GameObject.

Important: A collider on the character root must not touch the ground. Otherwise, it can cause sliding on slopes.

Keep the collider above the bottom edge to prevent sliding.

Layer

Animal Controller uses the Animal layer by default. Set every GameObject in the character hierarchy to this layer.

Set attack triggers, interaction triggers, and unrelated colliders to Ignore Raycast.

Animator Controller

The Animator Controller is the core animation logic for MAnimal. It exchanges information with MAnimal about active animations, States, Modes, and Stances.

Animation States use unique tags. MAnimal checks these tags against the active State.

Examples include Locomotion, Jump, Idle, Fly, and Fall.

Where to go next

Last updated