Skip to main content

A Unity extraction and patching package

Project description

UnityPy

Discord server invite PyPI supported Python versions Win/Mac/Linux MIT Test and Publish

A Unity asset extractor for Python based on AssetStudio.

Next to extraction, it also supports editing Unity assets. So far following obj types can be edited:

  • Texture2D
  • Sprite(indirectly via linked Texture2D)
  • TextAsset
  • MonoBehaviour (and all other types that you have the typetree of)

If you need advice or if you want to talk about (game) data-mining, feel free to join the UnityPy Discord.

If you're using UnityPy a commercial project, a donation to a charitable cause or a sponsorship of this project is expected.

As UnityPy is still in active development breaking changes can happen. Those changes are usually limited to minor versions (x.y) and not to patch versions (x.y.z). So in case that you don't want to actively maintain your project, make sure to make a note of the used UnityPy version in your README or add a check in your code. e.g.

if UnityPy.__version__ != '1.9.6':
    raise ImportError("Invalid UnityPy version detected. Please use version 1.9.6")
  1. Installation
  2. Example
  3. Important Classes
  4. Important Object Types
  5. Credits

Installation

Python 3.6.0 or higher is required

via pypi

pip install UnityPy

from source

git clone https://github.com/K0lb3/UnityPy.git
cd UnityPy
python -m pip install .

Notes

Windows

Visual C++ Redistributable is required for the brotli dependency.

Crash without warning/error

The C-implementation of the typetree reader can directly crash python. In case this happens, the usage of the C-typetree reader can be disabled by adding these two lines to your main file.

from UnityPy.helpers import TypeTreeHelper
TypeTreeHelper.read_typetree_c = False

Example

The following is a simple example.

import os
import UnityPy

def unpack_all_assets(source_folder : str, destination_folder : str):
    # iterate over all files in source folder
    for root, dirs, files in os.walk(source_folder):
        for file_name in files:
            # generate file_path
            file_path = os.path.join(root, file_name)
            # load that file via UnityPy.load
            env = UnityPy.load(file_path)

            # iterate over internal objects
            for obj in env.objects:
                # process specific object types
                if obj.type.name in ["Texture2D", "Sprite"]:
                    # parse the object data
                    data = obj.read()

                    # create destination path
                    dest = os.path.join(destination_folder, data.name)

                    # make sure that the extension is correct
                    # you probably only want to do so with images/textures
                    dest, ext = os.path.splitext(dest)
                    dest = dest + ".png"

                    img = data.image
                    img.save(dest)

            # alternative way which keeps the original path
            for path,obj in env.container.items():
                if obj.type.name in ["Texture2D", "Sprite"]:
                    data = obj.read()
                    # create dest based on original path
                    dest = os.path.join(destination_folder, *path.split("/"))
                    # make sure that the dir of that path exists
                    os.makedirs(os.path.dirname(dest), exist_ok = True)
                    # correct extension
                    dest, ext = os.path.splitext(dest)
                    dest = dest + ".png"
                    data.image.save(dest)

You probably have to read Important Classes and Important Object Types to understand how it works.

People with slightly advanced python skills should look at UnityPy/tools/extractor.py for a more advanced example. It can also be used as a general template or as an importable tool.

Setting the decryption key for Unity CN's AssetBundle encryption

The chinese version of Unity has its own inbuild option to encrypt AssetBundles/BundleFiles. As it's a feature of Unity itself, and not a game specific protection, it is included in UnityPy as well. To enable encryption simply use UnityPy.set_assetbundle_decrypt_key(key), with key being the value that the game that loads the budles passes to AssetBundle.SetAssetBundleDecryptKey.

Important Classes

Environment

Environment loads and parses the given files. It can be initialized via:

  • a file path - apk files can be loaded as well
  • a folder path - loads all files in that folder (bad idea for folders with a lot of files)
  • a stream - e.g., io.BytesIO, file stream,...
  • a bytes object - will be loaded into a stream

UnityPy can detect if the file is a WebFile, BundleFile, Asset, or APK.

The unpacked assets will be loaded into .files, a dict consisting of asset-name : asset.

All objects of the loaded assets can be easily accessed via .objects, which itself is a simple recursive iterator.

import io
import UnityPy

# all of the following would work
src = "file_path"
src = b"bytes"
src = io.BytesIO(b"Streamable")

env = UnityPy.load(src)

for obj in env.objects:
    ...

# saving an edited file
    # apply modifications to the objects
    # don't forget to use data.save()
    ...
with open(dst, "wb") as f:
    f.write(env.file.save())

Asset

Assets are a container that contains multiple objects. One of these objects can be an AssetBundle, which contains a file path for some of the objects in the same asset.

All objects can be found in the .objects dict - {ID : object}.

The objects with a file path can be found in the .container dict - {path : object}.

Object

Objects contain the actual files, e.g., textures, text files, meshes, settings, ...

To acquire the actual data of an object it has to be read first. This happens via the .read() function. This isn't done automatically to save time because only a small part of the objects are of interest. Serialized objects can be set with raw data using .set_raw_data(data) or modified with .save() function, if supported.

Important Object Types

All object types can be found in UnityPy/classes.

Texture2D

  • .name
  • .image converts the texture into a PIL.Image
  • .m_Width - texture width (int)
  • .m_Height - texture height (int)

Export

from PIL import Image
for obj in env.objects:
    if obj.type.name == "Texture2D":
        # export texture
        data = image.read()
        data.image.save(path)
        # edit texture
        fp = os.path.join(replace_dir, data.name)
        pil_img = Image.open(fp)
        data.image = pil_img
        data.save()

Sprite

Sprites are part of a texture and can have a separate alpha-image as well. Unlike most other extractors (including AssetStudio), UnityPy merges those two images by itself.

  • .name
  • .image - converts the merged texture part into a PIL.Image
  • .m_Width - sprite width (int)
  • .m_Height - sprite height (int)

Export

for obj in env.objects:
    if obj.type.name == "Sprite":
        data = obj.read()
        data.image.save(path)

TextAsset

TextAssets are usually normal text files.

  • .name
  • .script - binary data (bytes)
  • .text - script decoded via UTF8 (str)

Some games save binary data as TextFile, so it's usually better to use .script.

Export

for obj in env.objects:
    if obj.type.name == "TextAsset":
        # export asset
        data = obj.read()
        with open(path, "wb") as f:
            f.write(bytes(data.script))
        # edit asset
        fp = os.path.join(replace_dir, data.name)
        with open(fp, "rb") as f:
            data.script = f.read()
        data.save()

MonoBehaviour

MonoBehaviour assets are usually used to save the class instances with their values. If a type tree exists, it can be used to read the whole data, but if it doesn't exist, then it is usually necessary to investigate the class that loads the specific MonoBehaviour to extract the data. (example)

  • .name
  • .script
  • .raw_data - data after the basic initialisation

Export

import json

for obj in env.objects:
    if obj.type.name == "MonoBehaviour":
        # export
        if obj.serialized_type.nodes:
            # save decoded data
            tree = obj.read_typetree()
            fp = os.path.join(extract_dir, f"{tree['m_Name']}.json")
            with open(fp, "wt", encoding = "utf8") as f:
                json.dump(tree, f, ensure_ascii = False, indent = 4)
        else:
            # save raw relevant data (without Unity MonoBehaviour header)
            data = obj.read()
            fp = os.path.join(extract_dir, f"{data.name}.bin")
            with open(fp, "wb") as f:
                f.write(data.raw_data)

        # edit
        if obj.serialized_type.nodes:
            tree = obj.read_typetree()
            # apply modifications to the data within the tree
            obj.save_typetree(tree)
        else:
            data = obj.read()
            with open(os.path.join(replace_dir, data.name)) as f:
                data.save(raw_data = f.read())

AudioClip

  • .samples - {sample-name : sample-data}

The samples are converted into the .wav format. The sample data is a .wav file in bytes.

clip : AudioClip
for name, data in clip.samples.items():
    with open(name, "wb") as f:
        f.write(data)

Font

if obj.type.name == "Font":
    font : Font = obj.read()
    if font.m_FontData:
        extension = ".ttf"
        if font.m_FontData[0:4] == b"OTTO":
            extension = ".otf"

    with open(os.path.join(path, font.name+extension), "wb") as f:
        f.write(font.m_FontData)

Mesh

  • .export() - mesh exported as .obj (str)

The mesh will be converted to the Wavefront .obj file format.

mesh : Mesh
with open(f"{mesh.name}.obj", "wt", newline = "") as f:
    # newline = "" is important
    f.write(mesh.export())

Renderer, MeshRenderer, SkinnedMeshRenderer

ALPHA-VERSION

  • .export(export_dir) - exports the associated mesh, materials, and textures into the given directory

The mesh and materials will be in the Wavefront formats.

mesh_renderer : Renderer
export_dir: str

if mesh_renderer.m_GameObject:
    # get the name of the model
    game_object = mesh_renderer.m_GameObject.read()
    export_dir = os.path.join(export_dir, game_object.name)
mesh_renderer.export(export_dir)

Credits

First of all, thanks a lot to all contributors of UnityPy and all of its users.

Also, many thanks to:

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

UnityPy-1.9.28.tar.gz (1.0 MB view details)

Uploaded Source

Built Distributions

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

UnityPy-1.9.28-cp311-cp311-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.11Windows x86-64

UnityPy-1.9.28-cp311-cp311-win32.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86

UnityPy-1.9.28-cp311-cp311-manylinux_2_17_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

UnityPy-1.9.28-cp311-cp311-manylinux_2_17_i686.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

UnityPy-1.9.28-cp311-cp311-manylinux_2_17_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

UnityPy-1.9.28-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

UnityPy-1.9.28-cp311-cp311-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

UnityPy-1.9.28-cp311-cp311-macosx_10_9_universal2.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

UnityPy-1.9.28-cp310-cp310-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.10Windows x86-64

UnityPy-1.9.28-cp310-cp310-win32.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86

UnityPy-1.9.28-cp310-cp310-manylinux_2_17_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

UnityPy-1.9.28-cp310-cp310-manylinux_2_17_i686.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

UnityPy-1.9.28-cp310-cp310-manylinux_2_17_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

UnityPy-1.9.28-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

UnityPy-1.9.28-cp310-cp310-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

UnityPy-1.9.28-cp310-cp310-macosx_10_9_universal2.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

UnityPy-1.9.28-cp39-cp39-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.9Windows x86-64

UnityPy-1.9.28-cp39-cp39-win32.whl (1.1 MB view details)

Uploaded CPython 3.9Windows x86

UnityPy-1.9.28-cp39-cp39-manylinux_2_17_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

UnityPy-1.9.28-cp39-cp39-manylinux_2_17_i686.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

UnityPy-1.9.28-cp39-cp39-manylinux_2_17_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

UnityPy-1.9.28-cp39-cp39-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

UnityPy-1.9.28-cp39-cp39-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

UnityPy-1.9.28-cp39-cp39-macosx_10_9_universal2.whl (1.6 MB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

UnityPy-1.9.28-cp38-cp38-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.8Windows x86-64

UnityPy-1.9.28-cp38-cp38-win32.whl (1.1 MB view details)

Uploaded CPython 3.8Windows x86

UnityPy-1.9.28-cp38-cp38-manylinux_2_17_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

UnityPy-1.9.28-cp38-cp38-manylinux_2_17_i686.whl (1.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

UnityPy-1.9.28-cp38-cp38-manylinux_2_17_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

UnityPy-1.9.28-cp38-cp38-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

UnityPy-1.9.28-cp38-cp38-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

UnityPy-1.9.28-cp38-cp38-macosx_10_9_universal2.whl (1.6 MB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)

UnityPy-1.9.28-cp37-cp37m-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.7mWindows x86-64

UnityPy-1.9.28-cp37-cp37m-win32.whl (1.1 MB view details)

Uploaded CPython 3.7mWindows x86

UnityPy-1.9.28-cp37-cp37m-manylinux_2_17_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

UnityPy-1.9.28-cp37-cp37m-manylinux_2_17_i686.whl (1.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686

UnityPy-1.9.28-cp37-cp37m-manylinux_2_17_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

UnityPy-1.9.28-cp37-cp37m-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

Details for the file UnityPy-1.9.28.tar.gz.

File metadata

  • Download URL: UnityPy-1.9.28.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for UnityPy-1.9.28.tar.gz
Algorithm Hash digest
SHA256 5fffd6bdcabb625de93a012dda9338d1901811e086afc8c30de512f70f2109cc
MD5 855d6b3dbb0e7fbf4e6cef915ecdd323
BLAKE2b-256 0fb66a819b12ed38f92c47e4da0c4298b21a6fae56eb56feb25563c8a6e7635e

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: UnityPy-1.9.28-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for UnityPy-1.9.28-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 da1c8a905867379ce577f2071717a03297f39bb1cbd215b2a91abc2665115fe1
MD5 4fb293ad22d0d1ceba35e7e4d64b6e26
BLAKE2b-256 9debb2ef143b639dbc0c2a069b4e2c68c79b66ad46d6c648ad87935b809ad309

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp311-cp311-win32.whl.

File metadata

  • Download URL: UnityPy-1.9.28-cp311-cp311-win32.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for UnityPy-1.9.28-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 762bbb90674bc94f07feb772d73fa1d7763ea8986e554990d2ffd454a54ed052
MD5 fa37078f91433c6d3b46c54c6a68680a
BLAKE2b-256 2cf30dc3408fcbcddee118b1a9863cd080e76edc7d07249b26918e7621070ba8

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp311-cp311-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp311-cp311-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 de2341ef7d334f13af915c0b7776d5321a4ddc1dab6c732a0d64c1435f7ff43e
MD5 6b04e57c04c9b313df3a93c180c00de4
BLAKE2b-256 9cf02c435ac1fe4108f752cf1861bbf235a16359c968ed994ba26e8d5362547e

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp311-cp311-manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp311-cp311-manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 1251f37d603d10dfe51feb5716d13c8ce9fdc8a5321d45093921fd5cca39126a
MD5 7f29c09c73dbae7b78830ac7811c1814
BLAKE2b-256 410981b112c797127545206afca52692fa7d39023a68939c11cdad150dc4e5c5

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp311-cp311-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp311-cp311-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 6a4927e97bcfdf7122a2632dd5e035a8c9c4dea4836a50dddbd5f9d316bb9f42
MD5 a394971f641d2d2f4362ad18832427fb
BLAKE2b-256 0eb1b2d6e2bf48875735b4a344e24a6fd33869142c521fc1f31e18daef39f6f5

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7278315fed70e7551f1dde0bc3ac8c85934614f2821f9cd8fd23621e2d2468ce
MD5 b01a41fced29b0bc54b562c62420cc34
BLAKE2b-256 f23741872b6d59eeb5bb748fb74a07674475d8e16bd4a6f34f764e64f04a5263

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b991239dc5dcdbdcd9c1dbc5eb74bc3cb75f0c648f527b0be4c7c51ab42c461c
MD5 5a2e00b4d172116ef65fbd4c0767730c
BLAKE2b-256 652f2f5a4c5ea3fb10c18e40867c21392613f8fcf3ba7a2ed888a95ba95611ee

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2feef399d26382904dac7b63e6b06a2af802b7e14fd22fc6afe267608b640554
MD5 125b78f7a3f7872d62c411672121513f
BLAKE2b-256 61f0dc831b70bd8e585aebb59edbd21db3b20efe206b7b0ccf25cc753a1671d5

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: UnityPy-1.9.28-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for UnityPy-1.9.28-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 37c024794682a6c86332bb33df7da0f335a22b16ad4b803d32cfd339655e21d5
MD5 1901f003b810ba2d153e39ccea80cbfd
BLAKE2b-256 da6c109f940fe4447cdd92cc216fa5276f37585e39d872d8e27562c7ea384395

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp310-cp310-win32.whl.

File metadata

  • Download URL: UnityPy-1.9.28-cp310-cp310-win32.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for UnityPy-1.9.28-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 6d3d8d7bcc0b8567ba4239f27ef5ce093224cf7179a661918a97e48c4ff2c45a
MD5 7eb8d016045b05c29dd3ea37bc6b01da
BLAKE2b-256 fcfc7d6e2a18f294aabb5aeecc9e949f85c1bf3489eff017c7b483e1b56c2d66

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp310-cp310-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp310-cp310-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a2e08774de4aef069f0f138cc645af4592bd9c8475dd6d78162ee10803a643e1
MD5 80a0e265c1c5dbb29dc3c6e3272b7545
BLAKE2b-256 35890541af574538acef40b2a82a21e72dd9366683d2442cac113eccce3178ff

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp310-cp310-manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp310-cp310-manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 4894dcafd9a136a6cfb3ff187ab87f89db0e3b3ddecea136fbd03964e7c97cd5
MD5 8564fc0308ab63331c4715d719c8b155
BLAKE2b-256 4d9009e9bdd480ca73c570fe0ce99f90e8c71b3399bd505871c24bd5bd0df497

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp310-cp310-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp310-cp310-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 dea58bec38f962adf4c0d41c3ee715edecb4248d776c71c98fd5e6993663351c
MD5 ed968c712f2b957789f12254e879019c
BLAKE2b-256 e302c51857014826308bb8da9c7dedebc97c6552fe176b3dcb527e0b381f882f

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ac77d5493e390a184a49532e0be1876305786b8da379c0e319a914a5b2505d2
MD5 91dc7900938b45135d9875774d24f5ef
BLAKE2b-256 9dd79af5c50171452e78deb87b81835805a69bd3f24c0f565b9b43a471f1ace2

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cb24860bd9843ed1f1724550a5db85e5b92375c9f11db6ea0a766b875346ffa8
MD5 b5cf490c7ca84773bb9160f02078d378
BLAKE2b-256 8bab745493e7d04ec428824963f8b496a2b2730998c54194c96a23181fcdf18f

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2a91a02f9e95dff5ec7d6d082c145430b87147b80eb22ce6df3b9a822e2e2d2f
MD5 09b6fe44ce71da115d5436ec01183dd0
BLAKE2b-256 8faacc5b0f43e8b71289f48a6ad7a0e7df06a9d9eeebd6da19d0023ee2c41b10

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: UnityPy-1.9.28-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for UnityPy-1.9.28-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6434031e8a297b5fe1fd29db26f5d3d7c107acbb10ba51f4e8731a8c370fa2c5
MD5 ebe7af6ce7586dd50656025f9dd49c60
BLAKE2b-256 6a0f6165bcdae63eae027411f521f64f4405cb78a5de76fefcdd911348af7fe7

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp39-cp39-win32.whl.

File metadata

  • Download URL: UnityPy-1.9.28-cp39-cp39-win32.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for UnityPy-1.9.28-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 628b67dfaeafd04d18a196e2f84804b2c1c8baaa356eff96f640f16abe778cd0
MD5 eac037d2ae987511a049af25c0a785b6
BLAKE2b-256 f835ed9c27ed3fbc50bef5f5bc5736f1f5f53ff6bcf416d0045362a44d7b595a

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp39-cp39-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp39-cp39-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 295bea5233adbf04e24035404f04b8f726a762d13a76f5911bb9b42617f7068b
MD5 62cc1376b10789a92e5787474af442f5
BLAKE2b-256 fb10b7aa1061660ee19ba37c1e958a53c6e04b063c1c5338c33049e06dcccc4a

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp39-cp39-manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp39-cp39-manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 f642847ee3cff9e8af4f8e7f52a8d7af1b6ddaaf0ff15273eab28b6e98136e42
MD5 354b54fd437709178f1c6acfc767610c
BLAKE2b-256 a1f8bf127fc02d4d3a456fb6e96e6b7dd8ddcd2a4bbbaed0a39189b81a4e4571

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp39-cp39-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp39-cp39-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 c77028c0dc6bf345c18dbde6bf6ea9ce71e2acb4e2f01f161286bb2c7f355f22
MD5 677cd1c09209c99240991dc3c2c97517
BLAKE2b-256 f9cf0234a5df3b02529fb1dcea650b5d9db32a01f07955b16d8d7c9262788e3a

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33fc684b9bce5edb4cad78ef90b35b1055675bfc32ac04461c07136627896e0b
MD5 b96c45e20be593b94ed60cb6dd3a2307
BLAKE2b-256 51aa18eeaac4b9ec77c9d3e64eb0f3c546b36f478fd0936cca6a6f5eaf2454b8

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a8698a453505ba4f05e1ea274ff4b3acc2ad2f398237aac1388480058de209fb
MD5 e3d04912638c345565fc1fe3b4cbc3e3
BLAKE2b-256 b83e9f838db4e55ff14bb25ba86d6abad01502ca872d40aefc3f142e8b369fc3

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c7c41ec8c62e2f4b5c14985f5f85cfabe5d71f529a2d40ae474d70b8cb4d16f3
MD5 218b61c346b6cf0844947b555e9f04a8
BLAKE2b-256 1d75a04b43eec5f78eb23c31e5f5a34de49dc7173a3df4bc5eec1e03a9ce711f

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: UnityPy-1.9.28-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for UnityPy-1.9.28-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a287ee8ec74f9ef80049235412479f217e28cf582a67831c6e54dd910c8da01e
MD5 faaf222a70fe63a582929dc8dbaf4514
BLAKE2b-256 6080098cddd1fb5409b06a555ad3e7ad9cc070931dc9ae3665386d8e403478ea

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp38-cp38-win32.whl.

File metadata

  • Download URL: UnityPy-1.9.28-cp38-cp38-win32.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for UnityPy-1.9.28-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 fdd65dd3ada47edb1f0dbc2d03cf6612a2c4fa1b3c694bdf9cc73c8b44988641
MD5 b3060b232186f70e28a522c723f7605c
BLAKE2b-256 9daf25a09b3cbcf0f57231b74fedb20840ae186bded1efe50ccf3b84f0be2e2d

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp38-cp38-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp38-cp38-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7d279961bebfaf2d9ad1104c5a71071b364a6269ff3827a16853314a79092c2b
MD5 937cc03dd295b8beca387eaff96a7e87
BLAKE2b-256 2db0e0305d4833f22c21d98f74ced7f3afef5563a67d27e069dcbe673de0303a

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp38-cp38-manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp38-cp38-manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 1e478e61c9fefa7c0bd87079d80846bc98cc91e2934c97d50d88c2bbcf216b3e
MD5 87e7b41562f05df7cf98ba4697ba9355
BLAKE2b-256 159d730f6b4e48d315bbd880fbc34bbed7508c6e2ad0689dd40cfc5d571cf36f

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp38-cp38-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp38-cp38-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 1ba381a15ecc8b665864c4bc72a5ce9fe2d363b63652413f0cb283de28889657
MD5 d1b2a0228af5798abbb53e7837b4bc75
BLAKE2b-256 401185877b861696d6ba706388b964c9b79832ffb7541626aeef753fb74e7b00

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a38d71f43c1a0b5da687e134f8e6776e674f078f649b9a9fd0ac96d545eeae18
MD5 2827ed0a0cb19876fbbae3661521436d
BLAKE2b-256 6e93f8f04f5468ca595c68bbe547011ba8e2db293d5e30d5f88b967fc91997c4

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b201360ff0a6d51e20b59ba55b507861fc393897766e1b826aa7dceaf23a81a8
MD5 a5fb5ea51d787552a31a9833d34f999d
BLAKE2b-256 e98d3e4b1262cfa3715573a167b97487e24e24bf0f8f7d92dd5b959d2ed35e5d

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a0a23f5851ea2ae779db60e10a32ce15c39d978e958fe805f5d587b2976555ab
MD5 a89359d5905177cc79646d63a5312b68
BLAKE2b-256 5ab714c97d00eb27cb61bb5cf5f4383cfee270aef297710464ee00cc275168d1

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: UnityPy-1.9.28-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for UnityPy-1.9.28-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 208ee5b1a140e6d205813e4dac49c9c2920d99bb0e3713f3d0eed12fbe757d6a
MD5 cc2d8fe65b00ae8ad3cf075bd222f0a5
BLAKE2b-256 eee22a62e7506fa3d2af6808a199f3be1390cbd9f4d1a951a4578464333b2670

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp37-cp37m-win32.whl.

File metadata

  • Download URL: UnityPy-1.9.28-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for UnityPy-1.9.28-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 4ced67c4eef280c641a170ed903bf19e042edef56e9565b34d6c66a8207c5e62
MD5 5fdec7d8cc4bd62ad6793e3e8eda0aec
BLAKE2b-256 b75646fdf133eb4b21c6425c40a8b68bc0ebeb9c3661e2151f29077588d3ab78

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp37-cp37m-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp37-cp37m-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fd4dc206da4cdfd9adb0207122e6eb790418e3b633537f7493e9886c3ad02358
MD5 e52327b1659c3c3d9b3f0f9e281ec757
BLAKE2b-256 1733bf500dd8fa865d256ce3cb02425b1b9a499e5d498d1b61d5a3acb48953fc

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp37-cp37m-manylinux_2_17_i686.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp37-cp37m-manylinux_2_17_i686.whl
Algorithm Hash digest
SHA256 523ea957f7669e35de00dad290e6ae825c109b6ec529be61d1a1ab0aebc0f818
MD5 0c29cb9753a4bd61a495fd33d5857e64
BLAKE2b-256 4c7fe140170908ede9c29df8047d1f60c775443d37bd907fcdf1eb3107692c7e

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp37-cp37m-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp37-cp37m-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 eacaa487c76af049a13bb88f0394295d978cf8579c6da800a3d7fb1871f05e01
MD5 6ef9b6d48723bf81cdb2f0faed0be05a
BLAKE2b-256 d63527138e79fcad355d64690f9bc7192fad7292e04f6079e3263fb60d84c202

See more details on using hashes here.

File details

Details for the file UnityPy-1.9.28-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.9.28-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 91de0c629e2781843040e3a864d5638615ee2c61f45cefdb32bd79be60f84b8d
MD5 4c373c5bc68d778e1273fca2f46dd25d
BLAKE2b-256 d387f7203c6aa5d4ebec51be6c93691e7678d79976a0d12891511c4618cbc463

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