In short, I own a bunch of asset packages. I don't know what's in them until I bring them into Unity. Some of them have scripts that are not compatible with my current Unity build, but I may not care, I still want to see what I have and perhaps even fix them if I want them. My problem is that I'm having to import everything into my project just to see what I have and then further I can no longer run my project because these assets have compiler errors even though I'm not using them in my scene. So what can I do here? I don't want it compiled, using a "~" at the end of the folder as often suggested makes it disappear entirely so I can't even see the files, and yet I still want to see everything and choose what I want. Am I missing some process flow here? This really sucks.
1 Answer
Simple approach #1: Version-control your project, add an asset, and decide if you want to keep it in place. If not, revert the changes. (This workflow is also good for isolating and evaluating updates to assets, which will frequently cause issues.)
Simple approach #2: Create an empty test project, import packages there, and evaluate. Then import into your real project as appropriate.
Complex approach:
Downloaded, not-yet-imported packages (.unitypackage
files) should be located on your system as follows:
- Windows:
C:/Users/<username>/AppData(hidden)/Roaming/Unity/Asset Store
- OSX:
Users/<username>/Library/Unity/Asset Store
You can extract/view contents of these files using the process described here.
Gist is that the .unitypackage
files are just renamed .tar.gz
files, so you can extract them as usual. What you get seems to be a set of folders containing one or three files each. The folder names are 32-character hex strings (like 37526ede3c47c47d281bebffadfe4fd7
), corresponding to the asset's GUID inside Unity. (You can find these GUIDs in each file's .meta
partner.)
If the GUID-y bit refers to what was a folder in the package, pathname
is all you get.
If it referred to any other kind of file (so far as I know), you get all three: asset
, metaData or asset.meta
, and pathname
.
Folder contents:
pathname
: The path of the asset as a string.asset
: The original file, renamed toasset
.metaData or asset.meta
: Not exactly sure what they do to the files, but these seem to be what you find in<projectRoot>/Library/metadata
, under the GUID-based subfolders.- The GUID earlier would be under
.../metadata/37/
, with two files:37526ede3c47c47d281bebffadfe4fd7
and37526ede3c47c47d281bebffadfe4fd7.info
). The first one seems to be what gets added to the.unitypackage
.
- The GUID earlier would be under