Extracting a .unitypackage without Unity3D

It looks like all the libraries that currently exist to extract .unitypackage files are broken/don't exist anymore (or at least the ones on Unity Answers). So I made a new one in Python.

Download unitypackage_extractor on GitHub

It's also on pypi in case anyone might want to use it in some sort of automated workflow.

While Unity packages are just a .tar.gz, they have a special file structure that doesn't make them usable after extracting right away. Every file and it's data is broken up over multiple files and stored in specific folders. This script just rebuilds the original heirarchy from those files.