mcpField
U
unity-fsm

unity-fsm

github.com/muharremtozanDevelopment1767 installsUpdated 22w ago
Repository

About unity-fsm

unity-fsm is a modular, object-oriented finite state machine skill for Unity, aligned with the implementation used in Adam Myhre's 3D Platformer. It provides state, transition, timer, and detection patterns for player and enemy logic.

Key features

  1. 01Class-based state machine foundation
  2. 02Heavy and ActionState state support
  3. 03Predicate-based transitions
  4. 04CountdownTimer and StopwatchTimer
  5. 05Detection strategies and AI templates

Use cases

  1. 01Structuring player controller states
  2. 02Building enemy AI state flows
  3. 03Adding predicate-driven state transitions
  4. 04Managing AI cooldowns and detection

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/muharremtozan/unity-agent-skills --skill unity-fsm

After installing, type/unity-fsmin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

assets/code/
ActionState.cs.txt
BaseState.cs.txt
ConeDetectionStrategy.cs.txt
Enemy.cs.txt
EnemyBaseState.cs.txt
FuncPredicate.cs.txt
IDetectionStrategy.cs.txt
IPredicate.cs.txt
IState.cs.txt
ITransition.cs.txt
PlayerDetector.cs.txt
StateMachine.cs.txt
Timer.cs.txt
Transition.cs.txt
references/
enemy-ai.md
guide.md

Details

From the project README

Unity Finite State Machine (FSM)

This skill provides a modular, object-oriented State Machine architecture for Unity, specifically refactored to match the implementation in Adam Myhre's 3D Platformer.

Core Features

  • Object-Oriented: Each state is a dedicated class.
  • Hybrid Support: Support for both "Heavy" (classes) and "Light" (ActionState) states.
  • Strategy-Based Transitions: Uses Predicates and Detection Strategies.
  • Timer System: Includes Adam Myhre's CountdownTimer and StopwatchTimer.
  • Namespace Support: Uses Platformer and Utilities namespaces.

Core Files (assets/code/)

  • IState.cs.txt, StateMachine.cs.txt, IPredicate.cs.txt: Base FSM logic.
  • ActionState.cs.txt: New! Lambda-based state to reduce boilerplate.
  • Timer.cs.txt: AI cooldown management.
  • IDetectionStrategy.cs.txt, ConeDetectionStrategy.cs.txt: Sensing logic.
  • PlayerDetector.cs.txt, Enemy.cs.txt, EnemyBaseState.cs.txt: AI templates.

Usage Guides

  • GUIDE.md: General FSM setup and wiring.
  • ENEMY-AI.md: Specific guide for implementing AI with Detection Strategies.

Implementation Pattern

  1. Define your states by inheriting from BaseState.
  2. Wire them in your PlayerController or EnemyAI using stateMachine.AddTransition.
  3. Execute via Update() and FixedUpdate() calls to the machine.

Comments

Markdown supported