Skip to main content

Repack unity level files into filtered asset bundles you can load at runtime

Project description

unity-scene-repacker

demo asciicast

When modding a unity game, you often want to Instantiate objects from a scene that isn't loaded. One solution for this is to load all the scenes you're interested in at startup, copy the gameobjects somewhere and unload the scene. This works, but is slow and memory intensive.

This project lets you read scenes from the distributed game, take only what you need, and package those objects into an AssetBundle that you can load at runtime.

Installation

uv tool install unity-scene-repacker # if you have uv installed
cargo install --git https://github.com/jakobhellermann/unity-scene-repacker # to compile from source

Usage

objects.json
{
  "Fungus1_12": [
    "simple_grass",
    "green_grass_2",
    "green_grass_3",
    "green_grass_1 (1)"
  ],
  "White_Palace_01": [
    "WhiteBench",
    "White_ Spikes"
  ],
  ...
}
unity-scene-repacker
    --steam-game 'Hollow Knight'
    --objects objects.json \
    --output mybundle.unity3d
Usage: unity-scene-repacker [OPTIONS] --objects <OBJECTS> <--game-dir <GAME_DIR>|--steam-game <STEAM_GAME>>

Options:
      --game-dir <GAME_DIR>
          Directory where the levels files are, e.g. steam/Hollow_Knight/hollow_knight_Data1

      --steam-game <STEAM_GAME>
          App ID or search term for the steam game to detect

      --objects <OBJECTS>
          Path to JSON file, containing a map of scene name to a list of gameobject paths to include

            {
              "Fungus1_12": [
                "simple_grass",
                "green_grass_2",
              ],
              "White_Palace_01": [
                "WhiteBench",
              ]
            }


      --disable
          When true, all gameobjects in the scene will start out disabled

      --compression <COMPRESSION>
          Compression level to apply

          [default: lzma]

          Possible values:
          - none
          - lzma
          - lz4hc: Best compression at the cost of speed

  -o, --output <OUTPUT>
          [default: out.unity3d]

      --bundle-name <BUNDLE_NAME>
          Name to give the assetbundle. Should be unique for your game

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unity_scene_repacker-2.1.0.tar.gz (288.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

unity_scene_repacker-2.1.0-py3-none-win_amd64.whl (1.1 MB view details)

Uploaded Python 3Windows x86-64

unity_scene_repacker-2.1.0-py3-none-win32.whl (1.1 MB view details)

Uploaded Python 3Windows x86

unity_scene_repacker-2.1.0-py3-none-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

unity_scene_repacker-2.1.0-py3-none-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

unity_scene_repacker-2.1.0-py3-none-musllinux_1_2_armv7l.whl (1.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

unity_scene_repacker-2.1.0-py3-none-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (1.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

unity_scene_repacker-2.1.0-py3-none-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

unity_scene_repacker-2.1.0-py3-none-macosx_10_12_x86_64.whl (1.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file unity_scene_repacker-2.1.0.tar.gz.

File metadata

  • Download URL: unity_scene_repacker-2.1.0.tar.gz
  • Upload date:
  • Size: 288.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.7

File hashes

Hashes for unity_scene_repacker-2.1.0.tar.gz
Algorithm Hash digest
SHA256 83fc0b658e2585cbd6ca045e129f89ff193f0db15384fbf44ebb37a7ae56da81
MD5 4456121fa6e92f0939e2b92fa3053d8f
BLAKE2b-256 7379d3e3aae7d666681006802dc4f9e1f1cc01eb400de05b0ccc67e6f959e51c

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c4049a20cf74080771d8b2e15b5d384c75e55587990c5c61c5e3e9d4c52355c9
MD5 99be68e4d546dda933b01d84778eec8a
BLAKE2b-256 f9804bdee4d6ee8b821c88ba368fb00332b0d27feef3eef2b5e2560193094abe

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-win32.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 efa93a4427831ee2e64ff29354f5b08c1619eb677ce0b28621c1ae8a6d721d3a
MD5 37daf53fcab5f9a9b662885aa98b97bd
BLAKE2b-256 2a1898f85e4670611da9b63df4a7edb5f7235bafaa69319cfe8634f5db616070

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2a464cd8af856b96dadd48d52993b061468daa5c25b32a7b9841590419c8a931
MD5 336ce74cdba07d3c73240071e41d2680
BLAKE2b-256 0b5726edda9eb63ccc8aeb3fcd973258bdfa08b1f1c2e9370e87dcf7e4f8013f

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2188d078c3140a13d80f1cabc518aef27bd5d6115511e10ca2f259b72e9fab06
MD5 c47f18bdb62c8650620497dcdb177ba0
BLAKE2b-256 b145e6d72f6781b779dccda6397cd2899c74870be3fd256eb7eb5d2f28c68ad6

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 3bd6b2b3105112a58043f9fcf1abd6aaaa506b9c85dcd88fc1b5486fb94ebbba
MD5 47e569408efb201c291a2ad5e8ba617e
BLAKE2b-256 dd46fd0d4f238128bce433651f92897c454c4a0d9e115c8178ca3099450f9a89

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 94123a0e09ebd2fd3c8b181ce2a66e5308b0e5d61b3adcca8430da9068180d05
MD5 658eab17bbba45e6fb281b2d8d618ef1
BLAKE2b-256 5b54461d286353e755ea90fcb50a0fc7d3a1aef90ecd08adebd137cfae388b9b

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b17a69627f71e78dae22e77eec4c156a562370703ed2aa87b2a2f5734c5035d
MD5 2d0ac3b7916c898dda773114daff8c82
BLAKE2b-256 23124bf6de481d61b525ad28916eaa49cba58f9b2904a8d989d00a670f916f57

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 88c7d73481a6741105bea6767c20174f8e9662b554b73316424d9ab3cca915ea
MD5 ee4fd2173b4f225de6e543e6f5f9023c
BLAKE2b-256 18441076f16c6b70b4f9cd9e898a03e532b8aadabd74ff14a5057776fca9b45a

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 65e405513d0e4efe29f3cc88e33fb6e6160041797c0a6de517bea38c2fa15d38
MD5 8a3aa5cf10629d477bbc5bdc9cc60792
BLAKE2b-256 c741d4a08a072d5c78d2ee93a20dd38c5b7d1ddd18c89f247c15cd72c70346c4

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dbecdb4dc5b3e18b9e09e85ba76181e3b1b694b9effea5cde34e23de441071bc
MD5 33afb2ff6745c9aa65794dfded7e419a
BLAKE2b-256 bf1924e2b827d7ad0fc7f548f518034dd33743bfbe07816e6060f28c02756c01

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 93aee9fdcecd58ec2debb6c08d7c13c4770258dec8332c90757c35b3c891375a
MD5 9ba5b4a809a854e27fa4693caa240b4f
BLAKE2b-256 15d442348b32f0d39d832a3d74c67c049df99a0fbcd59dca917ff2d62bb28314

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4857274c2af9454d2e3f0f2c6e9067155253e8cb1a93e1f938c68e1371039df8
MD5 6909526e7974fc3262c6b2ba056d8736
BLAKE2b-256 207718c94beb94f425c2bc836db96dac726704de27b67b5952ecf45a2b853686

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5fd983f32a98fbe164d18a793c787f8e3c96e87269b18f7ce1ccf3e2797560d0
MD5 ec2f57fdc53312bc8d2fb18afd81dc1b
BLAKE2b-256 e83a12729d063781cd5af85f98fa97d0bd03e4c780ea5571049f5470f377c093

See more details on using hashes here.

File details

Details for the file unity_scene_repacker-2.1.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for unity_scene_repacker-2.1.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bcdc3c24dda91b5c6ca4aa8913e7bcc5d7fb82ef66885fc9cde853b21baf444b
MD5 5bde58267a3d42229117039a05a0cfd8
BLAKE2b-256 256fe3c19f8af754ea4a219e504f4b75601760eb6c30e21cd8288f2a7a8efada

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page