Code Monkey home page Code Monkey logo

upu's Introduction

UPU - .unityPackage unpacker CLI Tool

This little Windows tool helps you to unpack Unity Packages from Unity 3D, and avoids that you have to open the Unity Editor in order to access the precious asset files bundled within the package.

It also can add a context menu handler for the Windows Explorer which makes extraction of the files a lot easier.

##UPU GUI

NEW: This CLI project here is the foundation for the UI version:

Visit http://upu.derfunk.com/ to get it. UpuGui

What's working already?

  1. You can extract the whole unity package to a defined directory, or the same directory where the package resides in.
  2. Add/Remove Windows Explorer context menu handlers for *.unitypackage files.

Usage

upu.exe [options]

Options:
-i, --input: Unitypackage input file.
-o, --output: The output path of the extracted unitypackage.
-r, --register: Register context menu handler.
-u, --unregister: Unregister context menu handler.

Works on

  • Windows
  • Linux / Mac OSX with Mono. Example: $ mono UpuConsole.exe -i TestPackage.unitypackage (You have Mono installed if you have Unity 3D installed ๐Ÿ‘

Todos

  1. Get rid of CommandLineParser.dll while keeping the command line API.
  2. Get rid of UpuCore.dll - just provide a single binary. Do that by linking the source files into the Console Project, instead of referencing the UpuCore.dll there.
  3. Add option to only display the file structure which the package contains to be able to extract only certain files on command line. For e.g. like "tree".
  4. Add graphical user interface with the option to only extract certain files.

Download

Version 0.0.0.1: https://github.com/ChimeraEntertainment/UPU/releases/download/0.0.0.1/UnityPackageUnpacker-0.0.0.1.zip

Search Engine Keywords: unity3d, unitypackage, unpack, extract, deflate, assets

upu's People

Contributors

derfunk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

upu's Issues

Please add license file

As in title. I don't know if I can fork that project, use code from it, redistribute binaries based on that project etc.

UpuConsole: -o ignored if directory already exists

This works okay:

$ mono /scm/p4proj/main/p4connect/UPU/UpuConsole.exe -o /tmp/foodir -i dist/P4Connect.unitypackage
Extracting dist/P4Connect.unitypackage to /tmp/foodir
Decompressed: P4Connect.unitypackage
Extracting /var/folders/lZ/lZCSnMPVHt4tXtOYjErkFE+++TI/-Tmp-/Upu/iyvrrmdy.ejr/P4Connect to /var/folders/lZ/lZCSnMPVHt4tXtOYjErkFE+++TI/-Tmp-/Upu/iyvrrmdy.ejr/content...
Creating directory /tmp/foodir/Assets/P4Connect/Editor...
Extracting file /tmp/foodir/Assets/P4Connect/Editor/libp4bridge.dylib...
Extracting file /tmp/foodir/Assets/P4Connect/Editor/PackageIcons.cs...
Extracting file /tmp/foodir/Assets/P4Connect/readme.txt...
Extracting file /tmp/foodir/Assets/P4Connect/Editor/Icons.pack...

However, if output directory already exists, UpuConsole confusingly ignores the -o argument, and unpacks to the default location with an incremented unpack count:

$ mono /scm/p4proj/main/p4connect/UPU/UpuConsole.exe -o /tmp/foodir -i dist/P4Connect.unitypackage
Extracting dist/P4Connect.unitypackage to /Volumes/tanami-ufs/p4proj/main/p4connect/dist/P4Connect.unitypackage_unpacked (2)
Decompressed: P4Connect.unitypackage
Extracting /var/folders/lZ/lZCSnMPVHt4tXtOYjErkFE+++TI/-Tmp-/Upu/sg7t3k6x.xky/P4Connect to /var/folders/lZ/lZCSnMPVHt4tXtOYjErkFE+++TI/-Tmp-/Upu/sg7t3k6x.xky/content...
Creating directory /Volumes/tanami-ufs/p4proj/main/p4connect/dist/P4Connect.unitypackage_unpacked (2)/Assets/P4Connect/Editor...
Extracting file /Volumes/tanami-ufs/p4proj/main/p4connect/dist/P4Connect.unitypackage_unpacked (2)/Assets/P4Connect/Editor/libp4bridge.dylib...
Extracting file /Volumes/tanami-ufs/p4proj/main/p4connect/dist/P4Connect.unitypackage_unpacked (2)/Assets/P4Connect/Editor/PackageIcons.cs...
Extracting file /Volumes/tanami-ufs/p4proj/main/p4connect/dist/P4Connect.unitypackage_unpacked (2)/Assets/P4Connect/readme.txt...
Extracting file /Volumes/tanami-ufs/p4proj/main/p4connect/dist/P4Connect.unitypackage_unpacked (2)/Assets/P4Connect/Editor/Icons.pack...

Would probably be better to unpack to:

/tmp/foodir (2)

to be consistent with the behaviour when the -o option is not specified.

UpuConsole --help option dumps help twice

UpuConsole with no args works correctly, but if you give it --help option, it dumps the help message twice (once to stdout and once to stderr) and gives you an error:

File not found: --help

$ mono /scm/p4proj/main/p4connect/UPU/UpuConsole.exe --help

Unitypackage Unpacker Console 0.0.0.2
ยฉ Chimera Entertainment GmbH 2014

-i, --input Unitypackage input file.

-o, --output The output path of the extracted unitypackage.

-r, --register Register context menu handler

-u, --unregister Unregister context menu handler

--help Display this help screen.

Help us make to this piece of software even better and contribute!
https://github.com/ChimeraEntertainment/UPU
File not found: --help

Unitypackage Unpacker Console 0.0.0.2
ยฉ Chimera Entertainment GmbH 2014

-i, --input

-o, --output

-r, --register

-u, --unregister

--help

--help

Help us make to this piece of software even better and contribute!
https://github.com/ChimeraEntertainment/UPU

dead links

in README there are dead links,

both the home and direct download link don't work

would be great if that could be fixed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.