{"adoption": {"forks": 872, "observed_at": "2026-08-28T04:10:23.169659+00:00", "stars": 8503}, "canonical_url": "https://ross.abutalabs.com/products/bepinex", "card": {"archived": false, "artifact_type": "framework", "description": "Unity / XNA game patcher and plugin framework", "domain": ["gaming-tools", "developer-tools"], "enriched": true, "function": ["plugin-system", "developer-tools"], "health_score": 91, "homepage": null, "language": "C#", "license": "LGPL-2.1", "license_family": "copyleft", "maturity": "active", "member_repos": ["BepInEx/BepInEx"], "name": "BepInEx/BepInEx", "platform": ["windows", "cpp", "dotnet"], "pushed_at": "2026-06-28T16:08:10+00:00", "repo": "BepInEx/BepInEx", "stars": 8503, "tags": ["modding", "unity", "il2cpp", "mono", "xna", "mod-loader", "runtime-patching", "c-sharp", "game-development", "macos", "linux"], "topics": ["unity", "patcher", "unity3d", "framework", "modding", "bepinex", "il2cpp", "xna-framework", "xna", "mono", "unity-mono", "modloader", "mod-loader"], "urls": [], "use_cases": ["load mods into Unity games", "create a mod loader for a Unity Mono or IL2CPP game", "run community plugins in XNA or MonoGame titles", "patch game assemblies at runtime", "make existing mods from other frameworks work under one loader"], "what_it_is": "BepInEx is a plugin and modding framework for Unity Mono, Unity IL2CPP, and .NET framework games such as XNA, FNA, and MonoGame titles. It injects into games at runtime to load community mods and provides compatibility loaders for other modding frameworks.", "when_to_avoid": ["you are modding non-Unity, non-.NET games", "you need stable IL2CPP support on macOS or ARM, which is not yet available", "you want a simple asset-swap mod without runtime code injection"], "when_to_choose": ["you want to mod or extend a Unity game with C# plugins", "you need broad cross-platform support for Unity Mono modding", "you want compatibility with loaders like MelonLoader, IPA, or Unity Mod Manager"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bepinex", "repo": "BepInEx/BepInEx", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.169659+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:26:42.749259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f4dcd5f8c7274f75f0d61faa9f25d83bb78f12a89cb8c8994985e05a3be1967", "fetched_at": "2026-08-28T04:10:23.169659+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BepInEx/BepInEx"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.169659+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:26:42.749259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f4dcd5f8c7274f75f0d61faa9f25d83bb78f12a89cb8c8994985e05a3be1967", "fetched_at": "2026-08-28T04:10:23.169659+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BepInEx/BepInEx"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:26:42.749259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f4dcd5f8c7274f75f0d61faa9f25d83bb78f12a89cb8c8994985e05a3be1967", "fetched_at": "2026-08-28T04:10:23.169659+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BepInEx/BepInEx"}], "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:10:23.169659+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.169659+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.169659+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:26:42.749259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f4dcd5f8c7274f75f0d61faa9f25d83bb78f12a89cb8c8994985e05a3be1967", "fetched_at": "2026-08-28T04:10:23.169659+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BepInEx/BepInEx"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.169659+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.169659+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:26:42.749259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f4dcd5f8c7274f75f0d61faa9f25d83bb78f12a89cb8c8994985e05a3be1967", "fetched_at": "2026-08-28T04:10:23.169659+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BepInEx/BepInEx"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.169659+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.169659+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.169659+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:26:42.749259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f4dcd5f8c7274f75f0d61faa9f25d83bb78f12a89cb8c8994985e05a3be1967", "fetched_at": "2026-08-28T04:10:23.169659+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BepInEx/BepInEx"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.169659+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.169659+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:26:42.749259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f4dcd5f8c7274f75f0d61faa9f25d83bb78f12a89cb8c8994985e05a3be1967", "fetched_at": "2026-08-28T04:10:23.169659+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BepInEx/BepInEx"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:26:42.749259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f4dcd5f8c7274f75f0d61faa9f25d83bb78f12a89cb8c8994985e05a3be1967", "fetched_at": "2026-08-28T04:10:23.169659+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BepInEx/BepInEx"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:26:42.749259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f4dcd5f8c7274f75f0d61faa9f25d83bb78f12a89cb8c8994985e05a3be1967", "fetched_at": "2026-08-28T04:10:23.169659+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BepInEx/BepInEx"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:26:42.749259+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f4dcd5f8c7274f75f0d61faa9f25d83bb78f12a89cb8c8994985e05a3be1967", "fetched_at": "2026-08-28T04:10:23.169659+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BepInEx/BepInEx"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 89, "longevity": 100, "rhythm": 45}, "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": 3126, "days_push": 66, "days_rel": 207, "gap_med": 145.0, "n_releases_24m": 3}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}