{"adoption": {"forks": 237, "observed_at": "2026-08-28T04:05:22.603462+00:00", "stars": 1691}, "canonical_url": "https://ross.abutalabs.com/products/unity3d-finite-state-machine", "card": {"archived": false, "artifact_type": "library", "description": "An intuitive Unity3d finite state machine (FSM).  Designed with an emphasis on usability, without sacrificing utility.", "domain": ["gaming-tools", "cross-platform"], "enriched": true, "function": ["game-engine", "concurrency", "developer-tools"], "health_score": 20, "homepage": null, "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["thefuntastic/Unity3d-Finite-State-Machine"], "name": "thefuntastic/Unity3d-Finite-State-Machine", "platform": ["game-engine", "cross-platform"], "pushed_at": "2021-09-28T10:43:20+00:00", "repo": "thefuntastic/Unity3d-Finite-State-Machine", "stars": 1691, "tags": ["unity", "finite-state-machine", "fsm", "csharp", "monobehaviour", "game-ai", "state-management", "game-development", "mobile", "desktop"], "topics": [], "urls": [], "use_cases": ["manage game state like game over, restart, and continue in Unity", "implement NPC and enemy AI behaviour states", "handle UI button states such as hover and press", "drive animation state transitions for game actors", "replace boilerplate-heavy C# state machine implementations with a simple enum-driven API", "build state machines that work on iOS, Android, and IL2CPP builds"], "what_it_is": "A lightweight, intuitive finite state machine (FSM) library for Unity written in C#. It lets developers define states as enums and implement state behavior via underscore-convention methods inside MonoBehaviours, with reflection-based wiring and zero garbage allocation after initialization.", "when_to_avoid": ["you need a general-purpose C# state machine outside of Unity", "you require hierarchical or pushdown state machines with advanced transition graphs", "you need hierarchical state machines or async/await-driven state flows", "your project no longer targets Unity 2019.4-era APIs and the unmaintained library breaks"], "when_to_choose": ["you are building a Unity game and need a simple, low-overhead FSM", "you want state logic colocated inside your MonoBehaviour with minimal boilerplate", "you need a battle-tested library that ships in production and supports mobile/IL2CPP", "you prefer convention-based state methods over verbose configuration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/unity3d-finite-state-machine", "repo": "thefuntastic/Unity3d-Finite-State-Machine", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.603462+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.059768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85730903a5604413a2ea26054c7813cc97741df82c65ef9a9b71e53ad2da829b", "fetched_at": "2026-08-28T04:05:22.603462+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thefuntastic/Unity3d-Finite-State-Machine"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.603462+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.059768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85730903a5604413a2ea26054c7813cc97741df82c65ef9a9b71e53ad2da829b", "fetched_at": "2026-08-28T04:05:22.603462+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thefuntastic/Unity3d-Finite-State-Machine"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.059768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85730903a5604413a2ea26054c7813cc97741df82c65ef9a9b71e53ad2da829b", "fetched_at": "2026-08-28T04:05:22.603462+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thefuntastic/Unity3d-Finite-State-Machine"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.603462+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.603462+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.603462+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.059768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85730903a5604413a2ea26054c7813cc97741df82c65ef9a9b71e53ad2da829b", "fetched_at": "2026-08-28T04:05:22.603462+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thefuntastic/Unity3d-Finite-State-Machine"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.603462+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.603462+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.059768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85730903a5604413a2ea26054c7813cc97741df82c65ef9a9b71e53ad2da829b", "fetched_at": "2026-08-28T04:05:22.603462+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thefuntastic/Unity3d-Finite-State-Machine"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.603462+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.603462+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.603462+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.059768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85730903a5604413a2ea26054c7813cc97741df82c65ef9a9b71e53ad2da829b", "fetched_at": "2026-08-28T04:05:22.603462+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thefuntastic/Unity3d-Finite-State-Machine"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.603462+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.603462+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.059768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85730903a5604413a2ea26054c7813cc97741df82c65ef9a9b71e53ad2da829b", "fetched_at": "2026-08-28T04:05:22.603462+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thefuntastic/Unity3d-Finite-State-Machine"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.059768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85730903a5604413a2ea26054c7813cc97741df82c65ef9a9b71e53ad2da829b", "fetched_at": "2026-08-28T04:05:22.603462+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thefuntastic/Unity3d-Finite-State-Machine"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.059768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85730903a5604413a2ea26054c7813cc97741df82c65ef9a9b71e53ad2da829b", "fetched_at": "2026-08-28T04:05:22.603462+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thefuntastic/Unity3d-Finite-State-Machine"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:38:17.059768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "85730903a5604413a2ea26054c7813cc97741df82c65ef9a9b71e53ad2da829b", "fetched_at": "2026-08-28T04:05:22.603462+00:00", "kind": "readme", "missing": false, "url": "https://github.com/thefuntastic/Unity3d-Finite-State-Machine"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5266, "days_push": 1800, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}