Skip to content
Bit Quirky Behavior Trees and
State Machines

Search documentation

All topics and APIs

Close returns focus to Search.

What are you looking for?

Try a common topic or enter a complete API identifier.

Browse the reference instead

Esc closes · Tab reaches results · Enter opens the focused link

v0.6.0
Menu

Project index

What each supplied Unity project is for, which one to open first, and why the PackageExport project has no game in it.

Five Unity projects ship with this asset. Four are games. The fifth builds the packages.

Project What it is for
Platformer GameObject agents, a first tree and state machine, list and struct values, variable-length arguments.
DungeonHeist One guard that reacts to changing facts, gives up its running work, and takes a value you edit mid-game.
HordeSurvival Entity agents by the crowd, plus a director graph choosing what the next wave looks like.
RacingLine A decision graph bound to a vehicle simulation that was written before the graph existed.
PackageExport The editor host that writes the distributable packages. No gameplay.

Each game chapter names its own scene, the object to select, and the graph files that scene runs. Start with Platformer.

PackageExport is a build tool with a Unity project around it, and you never need it in your game. Its single editor entry point runs in batch mode: it reads a prepared export plan, checks that every staged content folder the plan names is actually present, fails loudly when one is missing, exports each entry recursively to its requested .unitypackage path, and exits with a code the build can read. Staging and cleanup belong to the packaging script that calls it, and testing belongs to a different build configuration, so the exporter itself runs no gameplay, validates no behavior, and knows nothing about the sample projects beyond the folders it was told to write. It is listed here so that finding it in the distribution raises no questions.

The four game projects use the standalone layout you see in every screenshot on this site: Assets/Platformer/... for Platformer, Assets/_Project/... for the other three. Importing a packaged sample instead puts the same folders under Assets/BitQuirky/BehaviorTreesAndStateMachines/Samples/, with the shared command support beside them, so a path from a chapter still reads the same from its project folder down.

A sample graph calls the sample game’s real methods and holds references to its real scene objects. That is deliberate, and it means a graph file copied on its own into your project will bind nothing. Keep the set together while you are learning from it: the graph, the host component, the generated provider, and the game capability the graph calls. Then swap that contract for yours one member at a time.

GameObject integration covers the agent on a prefab. Entity integration covers the same job in a World. Sample games is the course order itself, four chapters starting with Platformer.

Full-size image