{"id":28435515,"url":"https://github.com/jakobhellermann/unity-scene-repacker","last_synced_at":"2025-07-22T10:36:24.799Z","repository":{"id":296579387,"uuid":"824757974","full_name":"jakobhellermann/unity-scene-repacker","owner":"jakobhellermann","description":"Repack unity level files into (potentially filtered) asset bundles you can load at runtime","archived":false,"fork":false,"pushed_at":"2025-06-21T07:55:36.000Z","size":110,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-21T08:28:20.675Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jakobhellermann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-07-05T21:52:59.000Z","updated_at":"2025-06-20T20:25:12.000Z","dependencies_parsed_at":"2025-06-01T05:37:05.922Z","dependency_job_id":"ab93e433-40c3-49c9-8962-e030b472c191","html_url":"https://github.com/jakobhellermann/unity-scene-repacker","commit_stats":null,"previous_names":["jakobhellermann/unity-scene-repacker"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jakobhellermann/unity-scene-repacker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakobhellermann%2Funity-scene-repacker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakobhellermann%2Funity-scene-repacker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakobhellermann%2Funity-scene-repacker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakobhellermann%2Funity-scene-repacker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jakobhellermann","download_url":"https://codeload.github.com/jakobhellermann/unity-scene-repacker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakobhellermann%2Funity-scene-repacker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261095027,"owners_count":23108758,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-05T20:39:54.936Z","updated_at":"2025-07-22T10:36:24.787Z","avatar_url":"https://github.com/jakobhellermann.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# unity-scene-repacker\n\n![demo asciicast](./docs/demo-cast.svg)\n\nWhen modding a unity game, you often want to `Instantiate` objects from a scene that isn't loaded.\nOne solution for this is to load all the scenes you're interested in at startup, copy the gameobjects somewhere and unload the scene.\nThis works, but is slow and memory intensive.\n\nThis project lets you read scenes from the distributed game, take only what you need, and package those objects into an [AssetBundle](https://docs.unity3d.com/Manual/AssetBundlesIntro.html) that you can load at runtime.\n\n## Installation\n\n```sh\nuv tool install unity-scene-repacker # if you have uv installed\ncargo install --git https://github.com/jakobhellermann/unity-scene-repacker --locked # to compile from source\n```\n\n## Usage\n\n```jsonc\nobjects.json\n{\n  \"Fungus1_12\": [\n    \"simple_grass\",\n    \"green_grass_2\",\n    \"green_grass_3\",\n    \"green_grass_1 (1)\"\n  ],\n  \"White_Palace_01\": [\n    \"WhiteBench\",\n    \"White_ Spikes\"\n  ],\n  ...\n}\n```\n\n```sh\nunity-scene-repacker\n    --steam-game 'Hollow Knight'\n    --objects objects.json \\\n    --output mybundle.unity3d\n```\n\n\n```\nUsage: unity-scene-repacker [OPTIONS] \u003c--game-dir \u003cGAME_DIR\u003e|--steam-game \u003cSTEAM_GAME\u003e\u003e\n\nOptions:\n  -h, --help\n          Print help (see a summary with '-h')\n\n  -V, --version\n          Print version\n\nGame options:\n      --game-dir \u003cGAME_DIR\u003e\n          Directory where the levels files are, e.g. steam/Hollow_Knight/hollow_knight_Data\n\n      --steam-game \u003cSTEAM_GAME\u003e\n          App ID or search term for the steam game to detect\n\nRepack options:\n      --scene-objects \u003cSCENE_OBJECTS\u003e\n          Path to JSON file, containing a map of scene name to a list of gameobject paths to include\n\n            {\n              \"Fungus1_12\": [\n                \"simple_grass\",\n                \"green_grass_2\",\n              ],\n              \"White_Palace_01\": [\n                \"WhiteBench\",\n              ]\n            }\n\n\nOutput options:\n      --mode \u003cMODE\u003e\n          [default: scene]\n\n          Possible values:\n          - scene: Contains filtered 1:1 scenes you can load via LoadScene\n          - asset: A single bundle letting you load specific objects using LoadAsset\n\n      --disable\n          When true, all gameobjects in the scene will start out disabled\n\n      --compression \u003cCOMPRESSION\u003e\n          Compression level to apply\n\n          [default: lzma]\n\n          Possible values:\n          - none\n          - lzma\n          - lz4hc: Best compression at the cost of speed\n\n  -o, --output \u003cOUTPUT\u003e\n          [default: out.unity3d]\n\n      --bundle-name \u003cBUNDLE_NAME\u003e\n          Name to give the assetbundle. Should be unique for your game\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakobhellermann%2Funity-scene-repacker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjakobhellermann%2Funity-scene-repacker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakobhellermann%2Funity-scene-repacker/lists"}