Skip to main content

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

Project description

unity-scene-repacker

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

# compile from source
cargo install --git https://github.com/jakobhellermann/unity-scene-repacker --branch rewrite

Usage

objects.json
{
    "A6_S3_Tutorial_And_SecretBoss_Remake": [
        "A6_S3/Room/Prefab/Enemy/StealthGameMonster_RunningHog (3)",
        "A6_S3/Room/Prefab/Enemy_2/\u5f29\u83c1\u82f1"
    ],
    "A0_S7_CaveReturned": [
        "A0_S7/Room/StealthGameMonster_TutorialDummyNonAttack"
    ],
    "AG_SG1": [
        "AG_SG1/Room/Shield Crawler Spawner \u4e1f\u91d1\u96fb\u87f2"
    ],
    ...
}
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: none]

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

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

  -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.0.0.tar.gz (33.9 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.0.0-py3-none-win_amd64.whl (869.1 kB view details)

Uploaded Python 3Windows x86-64

unity_scene_repacker-2.0.0-py3-none-win32.whl (831.7 kB view details)

Uploaded Python 3Windows x86

unity_scene_repacker-2.0.0-py3-none-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

unity_scene_repacker-2.0.0-py3-none-musllinux_1_2_i686.whl (1.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

unity_scene_repacker-2.0.0-py3-none-musllinux_1_2_armv7l.whl (1.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

unity_scene_repacker-2.0.0-py3-none-musllinux_1_2_aarch64.whl (1.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

unity_scene_repacker-2.0.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

unity_scene_repacker-2.0.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

unity_scene_repacker-2.0.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

unity_scene_repacker-2.0.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (1.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

unity_scene_repacker-2.0.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

unity_scene_repacker-2.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

unity_scene_repacker-2.0.0-py3-none-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

unity_scene_repacker-2.0.0-py3-none-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for unity_scene_repacker-2.0.0.tar.gz
Algorithm Hash digest
SHA256 fc5f7b16ca056685d82fbfbbcc5ce29a6b2a8558bec1999ecd65734a1b98b65d
MD5 e030043e3d743847c8d699e59b52635b
BLAKE2b-256 8da9f936af9849f1250d8e4eb286f96eae9824de6cec931051d31140aa877453

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4c3e868af9e7f9e60e3ac46307d88ff4b3d1e3cb7aae3414656ed8647816f6e1
MD5 eebead76cc5c3a38584cc78e1beafcf6
BLAKE2b-256 cb5eca7e5a7d4d748ec845f3d1c991dcbe9f2feb5eff473537c2a68adaa2cce8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 6364d554a62a63329c5f287a32ec03e3b62ac42983a7bb71a8749df64389e18d
MD5 079bd1b9e630fbc00ca64d5a3be0e91e
BLAKE2b-256 6829ab80f25305275745784b0d1c43d6229ba88d5818f38434f2e996b4e9f8cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a327d7e0c6ca1b8420e272962146b4abf9731f6da5c2066c8b00bdcd61222858
MD5 5dec2c736733b525d68e849f34a9e6da
BLAKE2b-256 2bfa1ded33fe2f6fe8883e8ec4e0aadf6de799d9241d0a12b5a2fd7594be8142

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f535aa4e642b68134711b2c126a7f6a4f4229284584686ed2b0f4553423fc898
MD5 90469b5cfd5f529ca96da81899dd5a9a
BLAKE2b-256 224ef614467c223ab26534aed564bfd7aeb75f4ca0f78439eac5dd44d0a7141e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 6e749fafc5ce51a05e815e2b2532ec106eb5841b73f5bd09fe368ed0624ba7c9
MD5 82c109cb4ca8a1f505f45582055cad72
BLAKE2b-256 4892a7ae484595e3749ad75d7f08893b5eff8e228d9875fe5de104e1c2092b03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9a88d9cfa5821985189bf1f24172a52cb140cbf401c4ab2592edd9218373f9fb
MD5 4810383f501267b8fd69d43c78c59821
BLAKE2b-256 694165c7264f9da9c37eb12d53e5ccde9f15c4152e4a157449a74698bf33d8e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7dc5f19e6e86017fbf7c861011f5eabd0c352853d958472963eab84c248e6978
MD5 bfaa3e95dc62821d59e2d432c14a881c
BLAKE2b-256 57662e85eb8572f72047ac81bac0c9e213e0337f5a4bf87789f7e0645b90951d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 5e4086cd6d54c78a78184c16c437ddd3c0ae155ceb2cf84105ee78fe3229e994
MD5 e3e9f8ed11337cb974b0584263c93681
BLAKE2b-256 1d50040f9bce41a7f04f2ab761cd8917a3c4c2149d9544efa52de439ecbdb133

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 c088656e3af905d1e4fdcb45c38bdf9ea5813c2ab861bfd4008c2d37d58278db
MD5 324bea3cf28193534daf9b771ee987e3
BLAKE2b-256 4a5452acb7ab06c95476de1cbebf0ab0a560558703bfb55a960646ab21b2ca21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 139a2c0e4bff3b31b4027a0e939fe575c9809fa4dbd204eea0c28a7c4b70437e
MD5 84dbb0781a4c5eaa0d2a78ea66f36013
BLAKE2b-256 c39a0886093509ed2222fa1430cf075f814c3f1617170503aaab410bbe7309e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d0f0a52d4e2c53d6096ac953e2be9a3d1223a51dbc3a68afcd25fd2a3e1c168b
MD5 21b82aace48ca1765838ff337087d361
BLAKE2b-256 96e3a5624353ea4cd6c9225ddcba0a107def34dd3fe86414fdd76975c3d0eb29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e282dafc2566c5e8d438f61e5d5c7ae5a493886965442698a39a1e9e69142100
MD5 3e19b061a7cb1a9a54a72dc038b8815b
BLAKE2b-256 76d91434ac510b658ad5a8662c55b49d28c2dc393c03f37a535c93462288c8ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd86e6352b81bee75899a923b38891e8e5151ebc3d718fae739bd7d75d0334a1
MD5 ba527f5cc0e0b00800f41fd2f96ae757
BLAKE2b-256 798eb90f4196e9071f1fe8ccf610abe7dd96543b32979075947b72a4d036a62a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 24743eaac209e62b769fc3befe25fbedb74e63059b3e41a1e951d94cb654db57
MD5 6c53533fcfef7a148079c3234541ba6c
BLAKE2b-256 30032baaab19c99c86fb4110af1ba6200a6ecdcd8242e145ec41ca10fa0af646

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