Skip to main content

A pythonic port of AssetStudio by Perfare

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 making an income by using UnityPy, please donate a small part of it to a charitable cause or sponsor this project with a small amount.

  1. Installation
  2. Example
  3. Important Classes
  4. Important Object Types
  5. Credits

Installation

Python 3.6.0 or higher is required

pip install UnityPy

or download/clone the git and use

python setup.py install

Notes

Windows

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

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.

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 = image.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 = image.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"{data.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:
            with open(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.8.20.tar.gz (5.6 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.8.20-cp310-cp310-win_amd64.whl (5.6 MB view details)

Uploaded CPython 3.10Windows x86-64

UnityPy-1.8.20-cp310-cp310-win32.whl (5.6 MB view details)

Uploaded CPython 3.10Windows x86

UnityPy-1.8.20-cp310-cp310-manylinux2014_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.10

UnityPy-1.8.20-cp310-cp310-manylinux2014_i686.whl (5.7 MB view details)

Uploaded CPython 3.10

UnityPy-1.8.20-cp310-cp310-manylinux2014_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.10

UnityPy-1.8.20-cp310-cp310-macosx_10_9_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

UnityPy-1.8.20-cp39-cp39-win_amd64.whl (5.6 MB view details)

Uploaded CPython 3.9Windows x86-64

UnityPy-1.8.20-cp39-cp39-win32.whl (5.6 MB view details)

Uploaded CPython 3.9Windows x86

UnityPy-1.8.20-cp39-cp39-manylinux2014_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.9

UnityPy-1.8.20-cp39-cp39-manylinux2014_i686.whl (5.7 MB view details)

Uploaded CPython 3.9

UnityPy-1.8.20-cp39-cp39-manylinux2014_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.9

UnityPy-1.8.20-cp39-cp39-macosx_10_9_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

UnityPy-1.8.20-cp38-cp38-win_amd64.whl (5.6 MB view details)

Uploaded CPython 3.8Windows x86-64

UnityPy-1.8.20-cp38-cp38-win32.whl (5.6 MB view details)

Uploaded CPython 3.8Windows x86

UnityPy-1.8.20-cp38-cp38-manylinux2014_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.8

UnityPy-1.8.20-cp38-cp38-manylinux2014_i686.whl (5.7 MB view details)

Uploaded CPython 3.8

UnityPy-1.8.20-cp38-cp38-manylinux2014_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.8

UnityPy-1.8.20-cp38-cp38-macosx_10_9_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

UnityPy-1.8.20-cp37-cp37m-win_amd64.whl (5.6 MB view details)

Uploaded CPython 3.7mWindows x86-64

UnityPy-1.8.20-cp37-cp37m-win32.whl (5.6 MB view details)

Uploaded CPython 3.7mWindows x86

UnityPy-1.8.20-cp37-cp37m-manylinux2014_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.7m

UnityPy-1.8.20-cp37-cp37m-manylinux2014_i686.whl (5.7 MB view details)

Uploaded CPython 3.7m

UnityPy-1.8.20-cp37-cp37m-manylinux2014_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.7m

UnityPy-1.8.20-cp37-cp37m-macosx_10_9_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: UnityPy-1.8.20.tar.gz
  • Upload date:
  • Size: 5.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for UnityPy-1.8.20.tar.gz
Algorithm Hash digest
SHA256 23aa5dab7cc4080053bc3a08fbde422b6894be720baab89be61339361444b885
MD5 2076ed745e34ff24b898b887f3d1c601
BLAKE2b-256 c6aba39eb3c1bb5faea7d1cb8dd479bfd3e0bfacdb8f398f67ae31e15e113f0c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: UnityPy-1.8.20-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for UnityPy-1.8.20-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 331e0d86a9f7e20a9b67313a2ff1e80ed6f0362bf0385a59bafc9e5ea367d92e
MD5 9e464a09eb199b2dbe4c60ff7fe53613
BLAKE2b-256 28ccd55bafd8a934671baea226721eec3bf52fb5b9b963e62e989caa7e91cae8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: UnityPy-1.8.20-cp310-cp310-win32.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for UnityPy-1.8.20-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 36fa5d465ac657fe2fd38891046e188b544c76066f3786c7d2520775d8cf4806
MD5 c73e4e29e4fe26a06c65f59257f3c8f4
BLAKE2b-256 e016c00475f03c35d17698f147245b05cea22aebfbb2a71f0c70b06c2c1ef310

See more details on using hashes here.

File details

Details for the file UnityPy-1.8.20-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4cbc4130f338f1d89b17d0472bbb2fb65177e24fe84ee78c41ef6d7ac2ede1bf
MD5 a796ea22e1594d5d7efab0ea419bf755
BLAKE2b-256 dd536180f3b1fb39beb2381c83e38ad326290f9a6d6c83bab9e868400bee9f72

See more details on using hashes here.

File details

Details for the file UnityPy-1.8.20-cp310-cp310-manylinux2014_i686.whl.

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp310-cp310-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 85eb2cd05257c78f7d40e4ecdb1fb010230579b8c9b0685ae825fb98e030215a
MD5 bc0fef541633647892d6e875f126e495
BLAKE2b-256 dead2a231364acb2fa3254223c691bd4621c3bba3854cf0bdbb7f482a954c2b7

See more details on using hashes here.

File details

Details for the file UnityPy-1.8.20-cp310-cp310-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp310-cp310-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 223fb36842fab7a471026313e582b830db27a440f09a638a87f56c238a35d8cf
MD5 81f76034fc43fccec84352b687850344
BLAKE2b-256 187108d2133cbdce6c179658ad2f279c3b26eb4ef6b107c97bb3f997981f284e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ee554bfdf401095e42d8598b4498765fcd6e51abb529e314c127e81f7f63f0e1
MD5 11ce7ffa06b89078bb582e805ec52816
BLAKE2b-256 ae9554538d2a257110dfff88e3d0cfb81cbd4a79ddfd5e4aac90fab466a8f216

See more details on using hashes here.

File details

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

File metadata

  • Download URL: UnityPy-1.8.20-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for UnityPy-1.8.20-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6d968c48fb17a904231c8b3a809aeb360ffd10f727c00837245bd7aca016376a
MD5 78f9e599f7fd1f5775363c0aaec3e2b3
BLAKE2b-256 654b61740e4d26db0593512aa9f51523836a1f8f3f0f4ad63a27ecb226a19903

See more details on using hashes here.

File details

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

File metadata

  • Download URL: UnityPy-1.8.20-cp39-cp39-win32.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for UnityPy-1.8.20-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 48558141c635ef2fb54fbaa6d56f6971cba9103320b12e82d831bb34b8f9db98
MD5 d3d6230a1e2189bbc1260c9ec12d953f
BLAKE2b-256 b60fed49b3ebf957c4bcee541f9677476715a05f8536d92c44cd83939e63ba47

See more details on using hashes here.

File details

Details for the file UnityPy-1.8.20-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d3585e0781baf6407d124cfae27ac026573e72a9c9014176d573316074cc8996
MD5 06a7cb4d6fc14e79a6d06f82cd9ed9f7
BLAKE2b-256 cf02e48106bb415ca8688c81a271c7d2c5148da13ef32dec937b49cd7e12a551

See more details on using hashes here.

File details

Details for the file UnityPy-1.8.20-cp39-cp39-manylinux2014_i686.whl.

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp39-cp39-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 24c60a5f02c14926bbbb025afdb2bc82709017b8cd71f023dfd01e2a14c73b40
MD5 0750e8659a5fdacfe87350d6736d2f9b
BLAKE2b-256 fdb26892c1afb34301e3d9076991ed05725186f340ece8457a99da5da1f5afae

See more details on using hashes here.

File details

Details for the file UnityPy-1.8.20-cp39-cp39-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp39-cp39-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0857b635b58993538290dc5b5a1bc712c8e21b24a624b43538e84a6c48480437
MD5 13b323f60e0c1f2e4e9a151199413592
BLAKE2b-256 1b7f620060818dcf2b597ad869b5625ee86c602812c9cb623d3a81af6496ac83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3d56d81198efb59a5edce127127042600dddae3c8b0b17a2e3f75529eb8d12c6
MD5 11df9c9d2c1a6c88290aacda41457644
BLAKE2b-256 f34d0acc2e0d56264012bd5209c3dae5713843a9bba7551e2d5b711cf5dd6c3d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: UnityPy-1.8.20-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for UnityPy-1.8.20-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b49b34c779cdb3ef3ff2ef6e43e696bbedb2c5dd3be1f7e5193e40eaa65e4464
MD5 0ff147d9183afcf633677bf5ba7514a8
BLAKE2b-256 2794e7ead52ebf9e5b72d06fc69453658b649073810d2d6e91898e48bb726c35

See more details on using hashes here.

File details

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

File metadata

  • Download URL: UnityPy-1.8.20-cp38-cp38-win32.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for UnityPy-1.8.20-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 10e913dd59db8ae2dd2e9f89725d1c0ad49aaac0f18e38c36db59433750471fc
MD5 48aff5f4b48bff5d370cdfbea36fc262
BLAKE2b-256 f79a5894752ea2ca7e733d155bcfd34dc2678e4d3e3752eb89d6bcc97d77860b

See more details on using hashes here.

File details

Details for the file UnityPy-1.8.20-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26f07136b852799189917e8134024f403847e3e0e958f39173c053ddd012d634
MD5 31684357250be8b6e420e3d21d1b75bb
BLAKE2b-256 f6b3638e63910bca6893d93c79491b2b18b3544516de0b13464a1f0886d036b5

See more details on using hashes here.

File details

Details for the file UnityPy-1.8.20-cp38-cp38-manylinux2014_i686.whl.

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp38-cp38-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cb9f73e4548541ad2c683d1c1d712f1dfd089cc578537cdb15711c705542433a
MD5 31b079623cf0f05a956accdfd5820f6c
BLAKE2b-256 c1888408b5bfb9a53b3974dcb9aaf9444ad589f4de77dcaf38faf0486956ac23

See more details on using hashes here.

File details

Details for the file UnityPy-1.8.20-cp38-cp38-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp38-cp38-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a749fd513a86ffae8b4b0af6e9002b4936cdf60a3138bf3f12e56019101ebf7f
MD5 6fcb23a25352d6fa1efb475894c2ea4b
BLAKE2b-256 645d7ef26a37130b6d3d5666dd2fb8fa4234d0d779ae3a8c66c389cb199f7973

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5f55ecd65268c3d5f4e8c6840ac5c5ac3e6d24e6a949484d3145e3c7da02468f
MD5 dcbb06b00defcde7629b82a7523b165a
BLAKE2b-256 dd584ecc2512c8b8648002469ea1f53ec41e75a9e0eb0b66e04d638195901fb8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for UnityPy-1.8.20-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 c91bd4536c51852e76bbb17a334dfd67e6eabc2ff99bac100ac80be5f85e25a3
MD5 dbf091afc65b948064a678209b25bfe2
BLAKE2b-256 6177231a4e0ba6c249f667536900ddfed15e624afdc3359d90095eca76572700

See more details on using hashes here.

File details

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

File metadata

  • Download URL: UnityPy-1.8.20-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for UnityPy-1.8.20-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 2d7fc7fea0eb7909e3bab351f88df8bc52c6292a2dfc6a4674f4efbfb2bdfb69
MD5 2516e0473b91ae4dbaf44af2d7470416
BLAKE2b-256 d8cd4a9cf432d941e681ab63e8f2ad5fca7371ae29bc71415c0c66fff4a114ae

See more details on using hashes here.

File details

Details for the file UnityPy-1.8.20-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e648e64a794a6ae861bb41c048136b3bb9c03f6ff8c083e62097755b884e763b
MD5 e02a94100c49a591132bc92d860e180a
BLAKE2b-256 164611199269959dd9f8cc8e1de2a049cb909a5fd3ed283164b0ec8b18069551

See more details on using hashes here.

File details

Details for the file UnityPy-1.8.20-cp37-cp37m-manylinux2014_i686.whl.

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp37-cp37m-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1478e245283e55930ae8e33cca2ecb1d1e2ce11e0bf6c569e2cbdef88bc57e6f
MD5 b2d7778f6346877ca423c91860fab816
BLAKE2b-256 11a613d2f38640b06ec658d55040c0c409be81b56c43f6d3984d1207697ab9fd

See more details on using hashes here.

File details

Details for the file UnityPy-1.8.20-cp37-cp37m-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp37-cp37m-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 52e2fa5a4acfd3dc07b095c7d967079120452bc4d1934ac520db804d0311cd26
MD5 0011ba4a1e6b658a5bba8b7f5cda85e1
BLAKE2b-256 99a9235e334023616c511ddd060ebc04447915d1a38043e5158d4de6a8922fa2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for UnityPy-1.8.20-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 49c7b0a3508a417ffb095f2e1552c995c63b3c4bbebbbabec8c72a7d702ab7d2
MD5 08f64c690abb4dea1983230b9cc27ac1
BLAKE2b-256 3f132916c1881f9d34f74a3d26c7a7ef9bbd16eb7cb9f3b91f4f55cca506e13c

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