{"adoption": {"forks": 126, "observed_at": "2026-08-28T04:03:24.494457+00:00", "stars": 1056}, "canonical_url": "https://ross.abutalabs.com/products/scriptableobject-architecture", "card": {"archived": true, "artifact_type": "library", "description": "Makes using Scriptable Objects as a fundamental part of your architecture in Unity super easy", "domain": ["developer-tools"], "enriched": true, "function": ["state-management", "developer-tools", "plugin-system"], "health_score": 10, "homepage": null, "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["DanielEverland/ScriptableObject-Architecture"], "name": "DanielEverland/ScriptableObject-Architecture", "platform": ["game-engine", "cross-platform"], "pushed_at": "2023-12-17T22:10:49+00:00", "repo": "DanielEverland/ScriptableObject-Architecture", "stars": 1056, "tags": ["unity", "scriptable-objects", "event-system", "game-architecture", "csharp", "game-development"], "topics": ["unity", "indiedev", "scriptableobject", "architecture"], "urls": [], "use_cases": ["decouple game code using ScriptableObject variables and events", "create typed game events with debugging in Unity", "manage shared runtime state between Unity scenes", "auto-generate ScriptableObject variable scripts for C# primitives", "build event-driven Unity game architecture"], "what_it_is": "A Unity library that makes ScriptableObjects a core architectural building block, providing typed variables, events, runtime sets, and automatic script generation. It implements the patterns from Ryan Hipple's 2017 Unite talk with editor tooling and visual event debugging.", "when_to_avoid": ["your project is not Unity-based", "you prefer code-first dependency injection over ScriptableObject patterns", "you need a library with frequent updates and active maintenance"], "when_to_choose": ["you build Unity games and want ScriptableObject-based decoupled architecture", "you need typed events and runtime sets out of the box", "you want editor visual debugging of event invocations"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/scriptableobject-architecture", "repo": "DanielEverland/ScriptableObject-Architecture", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.494457+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:58:06.001133+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a397aae991724fa9030d6cd5b2e282665f20e12fe861300db57ecb08974363b1", "fetched_at": "2026-08-28T04:03:24.494457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielEverland/ScriptableObject-Architecture"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.494457+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:58:06.001133+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a397aae991724fa9030d6cd5b2e282665f20e12fe861300db57ecb08974363b1", "fetched_at": "2026-08-28T04:03:24.494457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielEverland/ScriptableObject-Architecture"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:58:06.001133+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a397aae991724fa9030d6cd5b2e282665f20e12fe861300db57ecb08974363b1", "fetched_at": "2026-08-28T04:03:24.494457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielEverland/ScriptableObject-Architecture"}], "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:03:24.494457+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.494457+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.494457+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:58:06.001133+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a397aae991724fa9030d6cd5b2e282665f20e12fe861300db57ecb08974363b1", "fetched_at": "2026-08-28T04:03:24.494457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielEverland/ScriptableObject-Architecture"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.494457+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.494457+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:58:06.001133+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a397aae991724fa9030d6cd5b2e282665f20e12fe861300db57ecb08974363b1", "fetched_at": "2026-08-28T04:03:24.494457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielEverland/ScriptableObject-Architecture"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.494457+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.494457+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.494457+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:58:06.001133+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a397aae991724fa9030d6cd5b2e282665f20e12fe861300db57ecb08974363b1", "fetched_at": "2026-08-28T04:03:24.494457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielEverland/ScriptableObject-Architecture"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.494457+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:24.494457+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:58:06.001133+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a397aae991724fa9030d6cd5b2e282665f20e12fe861300db57ecb08974363b1", "fetched_at": "2026-08-28T04:03:24.494457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielEverland/ScriptableObject-Architecture"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:58:06.001133+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a397aae991724fa9030d6cd5b2e282665f20e12fe861300db57ecb08974363b1", "fetched_at": "2026-08-28T04:03:24.494457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielEverland/ScriptableObject-Architecture"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:58:06.001133+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a397aae991724fa9030d6cd5b2e282665f20e12fe861300db57ecb08974363b1", "fetched_at": "2026-08-28T04:03:24.494457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielEverland/ScriptableObject-Architecture"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:58:06.001133+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a397aae991724fa9030d6cd5b2e282665f20e12fe861300db57ecb08974363b1", "fetched_at": "2026-08-28T04:03:24.494457+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DanielEverland/ScriptableObject-Architecture"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2984, "days_push": 990, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}