Az animációk között váltásokhoz a Unity ad nekünk egy "állapot gráfot". Az animátor ablakban úgynevezett állapotokat látunk. Minden animáció, ami az objektumunkhoz tartozik egy-egy állapot. Az állapotok között pedig van egy "aktív állapot". A képernyőn az az animáció látszik, amelyiknek aktív az állapota. Innentől csak azt kell meghatároznunk, hogy mikor melyik állapot (vagy animáció) legyen aktív.
Az állapotok közötti váltást átmenetekkel tudjuk vezérelni. Amíg a program fut, addig minden pillanatban van egy aktív állapot. Ha le akarjuk cserélni az animációt, akkor létre kell hoznunk egy szabályat, ami alapján az egyik aktív állapotból átjutunk a másikba. Erre lentebb láthatunk majd példát.
Ehhez kapocsolódik, hogy az ablakon látszik két speciális állapot is. Ezek:
- Entry: A kezdőállapot. Amikor a program alindul, akkor ez az aktív állapot, de a program indításakor azonnal átadjuk az "aktív státuszt" annak az állapotnak, ahova a Entry-ből nyíl mutat. (Jelen esetben ez a Ninja_run állapot.)
- Any state: Később látni fogjuk, hogy hogyan működnek az állapotok közötti átmenetek. A program futása során mindig az egyik állapotból a másikba megyünk át valamilyen feltétel alapján. Ha például a karakterünk ugrik (vagyis elemelkedik a földtől) akkor az aktuális állapotunkból át kell jutnunk a "Ninja_jump" állapotba. Ezt az átmenetet akkor is meg kell tennünk, ha éppen futottunk, vagy ha ugrottunk, tehát két állapotból juthatunk az ugrás állapotába, ugyanannak a feltételnek az alapján. Az any state állapot egy egszerűsítést ad nekünk. Ez azt jelenti, hogy egy adott feltétel teljesülése esetén bármely állapotból jussunk a megadott állapotba. Hetát csak egy átmenetet kell megadnunk kettő helyett.
Kezdőállapot kiválasztása
A kezdőállapot kiválasztásához csak az egér jobb gombjával rá kell kattintanunk a kiválasztott állapotra, és használni a "Set as Layer Default State" gombot.

Átmenet készítése
Az állapotok közötti átmenetek késztéséhez rá kell kattintanunk a az egér jobb gombjával a kezdőállapotra (ahonnan indul az átmenet). Ilyenkor az egeret követni fogja egy átmeneti nyíl vége, amivel rá kell kattintani a cél állapotra.
Az esetünkben hozzunk létre egy átmenetet a "Ninja_stand" állapotból a futás állapotba.

Átmenetek paraméterei
Az állapotok közötti váltást feltételekhez fogjuk kötni. A feltételeket pedig változókhoz fogjuk kötni.
Az álldogálásból a futás nimációjába való átmenetet például köthetjük olyan feltételhez, hogy a karakter sebessége nagyobb legyen, mint 0. Ennek alapján ha a játékos elindul, akkor automatikusan aktiválva lesz a futás animációja, tehát nem csak a taláán csúszik, hanem mozgatja közben a lábát.
Első lépésben a változókat a animátor ablak bal felső részén tudjuk beállítani. A "Parameters" fület választva a kis "+" jellel jellölt menüben tudunk hozzáadni különböző típusú változóktat. Hozzunk is létre kettőt.
- Egy float típusút "Speed" - vagyis sebesség - névvel,
- És egy Bool típusút "Jumping" - vagyis "éppen ugrik" - vnévvel.

Paraméterek beállítása
Ha megvannak az átemenetek, és a paraméterek is, akkor még be kell állítani az átmenet paramétereit. Ezt az Inspector ablakban tehetjük meg, ha az egér bal gombjával kiválasztjuk az átmenetet szimbolizáló nyilat.

A jelen átmeneten három dolgot kell átállítani.
- Ki kell kapcsolni a "Has Exit Time" paraméter. Ez azt modnaná meg, hogy az átmenet automatikusan lefut, de cak egy adott késleltetéssel.
- 0-ra kell állíteni a "Transition Duration" paramétert. Ezzel az átmenetet folytonossá lehetne tenni adott idő alatt, de esetünkben ez felesleges.
- Alul a "Conditions" menücsoportoban a "+" jellel hozzá kell adni egy új átmeneti felétételt.
- A feltételnek be kell állítani, hogy "Speed", "Greater" és "0", vagyis akkor váltunk aktív állapotot, ha a sebesség nagyobb, mint 0.
Ezzel már majdnem megvan az első átmenetünk. A feltételek alapján ha karakter ácsorog, de a sebessége nagyobb, mint 0, akkor automatikusan átvált a futó animációra.
További átmenetek
Ha már az átmeneteknál járunk, akkor állítsunk be még néhány átmenetet.
Egyet a futásból vissza az állásba.

Egyet az "Any state"-ből az ugrásba.

És egyet az ugrásból az állásba.

A fenti átmenetek logikája ez lesz:
- Kezdetben álldogálunk. Ez van ha elindul a játék.
- Ha álldogálás közben a sebességünk 0 fölé megy, akkor alindultunk, mehet a futás animáció.
- Ha futás közben a sebességünk kicsi lesz (kisebb, mint 0.001), akkor megálltunk, tehát ácsorgás animáció.
- Ha bármikor elemelkedünk a föltdől, akkor aktiváljuk az ugrás animációt. Értelemszerűen, ha nincs a lábunk a földön, akkor nem tudunk sem állni, sem futni.
- Ha újra a földre kerülünk, akkor automatikusan állunk.
- De mi van, ha a földte érés után futni lendületben vagyunk, és futni kellene? Az megoldódik magától, mert ekkor az ugrás után az állás állapotába kerülünk, de mivel a sebességünk nagyobb 0-nál, ezért azonnal megy tovább az aktív állapot a futásba.
Az animácók beállításával majdnem készen is vagyünk. Most még nem fog működni a dolog, mert kódolnunk is kell a programban, de jól halafunk.