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.1.tar.gz (278.0 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.1-py3-none-win_amd64.whl (1.1 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

unity_scene_repacker-2.0.1-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.0.1-py3-none-musllinux_1_2_i686.whl (1.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

unity_scene_repacker-2.0.1-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.0.1-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.0.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

unity_scene_repacker-2.0.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (1.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

unity_scene_repacker-2.0.1-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.0.1-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.0.1-py3-none-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

unity_scene_repacker-2.0.1-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.0.1.tar.gz.

File metadata

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

File hashes

Hashes for unity_scene_repacker-2.0.1.tar.gz
Algorithm Hash digest
SHA256 adac8e99e7a602782bc4ba005b1086a5ee04423d2b7fe77ce8ee8839493896d6
MD5 0e38f98384e83bb8455a6f5d8f6623b4
BLAKE2b-256 7c36ab7b8b8bf4c66bd0f35779ebe5c1f9bd8e5df8944f3434f87bd28c204b7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c7cba893ab9bbe08bcf19ce2943052f4e4896685d75d1eee9f1a0a47dfdb501f
MD5 6b4b653e1c15cb5e11391d7969c0fa59
BLAKE2b-256 6a2a8d61d65f4159cbe448654162bd355a16b0182a7cf344331a019604ca4574

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 cf8119025c644bd5cbd2d3e1822b9ee692724ece5dd3b2fa9b76a4a0c1beca65
MD5 6cb3209c27e45c014a327dcc4f07858e
BLAKE2b-256 1d9984ff71a318b68212c5b4bbaec5b654d6095e2fbe76bbcd83f7f0355bf5f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e4c325b98c44d02874e69a60a4c2e64aae0e6ff807ae76239ed6b3b1acb3de0e
MD5 6e66f407bb94bfa22d542b7a5fc06568
BLAKE2b-256 e498bef8d289617087ec196c0813a6e1f2b671a2f895ef70dceea306d5cdf6f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d72c0626218d0da43b29061a8e5c59be974fa33583d2f93828b11f0e18423f9a
MD5 8b192d64ff0801bd7c6bae4da7c0ec33
BLAKE2b-256 4b9dc9958013cab016d66043510fd6cfd80df2a86da9398523e408c50c32f022

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 2dc1248f74fae4684c08d06fdbcde4c8dfa7d11d5bc1717f45ebbe8cfb905744
MD5 29710e8780d588e4cd7e86f132308a81
BLAKE2b-256 8b3f4c2a6d1c07c8e39cdabebf49a03bb5636935bafbed0ffc2b3a06ff83c25e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 919015e3a9b47d12dc61d08c307184ec554a249c9c848798f89b78fe92dd2b51
MD5 e24668edfcf9a8249e4d1f4e1fa43572
BLAKE2b-256 e4cc1e6065f20e190b45d19eed33ea885b8519bd6ebba70452a5d7b7e0058427

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dafab406bfded8df8d9e5acf9227f347d04bb27b8d2954c48a4130f2e426171b
MD5 bceb2e884499ace8fc13ac1c279d0344
BLAKE2b-256 d53a7f85cd5ed41406be72d4396af73a457a6cc1c4d7c985223d7be77d67664c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 69e2c15381ef8c3397ada0cc9b536364e26e710a95bcef626684af6b1ea7dba8
MD5 3c5e998eca8e7d5e7ce5a6f023288b82
BLAKE2b-256 8beb55c57d6b837bed1ea59544f47942525ea25579aecdb7426394f8d0b47d1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 0fc74e12d430c24bf3a7acfa82aadb4cdd7affaa5c5404bd1942d34c0c03ec6c
MD5 366638ec6566ecad5814ec627c4b0d8f
BLAKE2b-256 20acd9c38f4f2f283e38821b78c9530b672428b25ceafbe27d8fb4fcd273ff9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4a21d1e7d12fb4ff030202a2e26df71d94c2c1d028c45c9e6e6ccdb647c2663c
MD5 9306bde68616535c998f6882b8ee48ad
BLAKE2b-256 1e4b27b5755eb80c0aa8a4cc5069f32476853805a3a5f6f72e757fb3fe29cf6e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f6980a577638cc7b3631fe1b447297dbad7c2f9f57b6c40007e6aa08433740b6
MD5 6d60ba961d4646f7a8f5555d91a6d8ba
BLAKE2b-256 a8fb161285270b5685e6388c7b4b731e0d62fbf07af4e7337a0bcd76e0dd3364

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9518520587f220cd7708fae61aa21b754ff3acae99cc11a02dd30b1875aea586
MD5 ac9dbfe581c8a52540c3cb4cb032f054
BLAKE2b-256 d7be2d379395965b787fca4495594e8b7e3ad2bd5b938360d3bfe0680d57aa2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e7169c4838e638477ff2414f86f0ccfffc699a8e53e4fa490daaacdfc405bca4
MD5 30db11b797afd6947b46721f55b35272
BLAKE2b-256 5e356069a20e5814e805c89d7956ac7f30ae11d83184603808669ffce5c76be7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for unity_scene_repacker-2.0.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b84047131d07ebdc906b4495f4a674d6d14e728266e68a4a21eac8dda6190a49
MD5 92dcce7dbf1eec716687567f36e1ab87
BLAKE2b-256 b7f798246d22034fa12dfa11213cbca5cc4dfd044c97fd7e55ea7e1746a6c8aa

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