I have to work sometimes offline and I can’t go to asset store then and import files, so I’ve downloaded to my hard disk some of assets in asset store that I use on different projects + some free assets from internet. When my collection started to grow and everything was uncategorized and some of those were even named like this: 12343949499.UnityPackage, I deciced that I need somekind of program to help me to categorize them and rename them.
So what UnityPackage TOOL then does?
Renames UnityPackage to what reads in Title field in particular file.
In example: 12343949499.UnityPackage will be renamed to TerrainAssets.UnityPackage
Makes new folders according to it’s category and moves that file there.
In example: Editor Extensions/Animations/correctlynamed.UnityPackage file.
In example2: 3D Models/Environment/correctlynamed.UnityPackage file.
Let me know if you have more ideas about what this software should do also! We might update it and add your idea(s).
I hope theres help from this to someone else too.
Known bugs:
Some UnityPackage files doesnt have “title” field in that file. Those will be moved to Uncategorized folder with Unknown(x).unitypackage name.
Sometimes it makes an file without unityPackage extension and that is 0 bytes. We will look into this. FIXED! Download 1.1 version from same link!
Please notice that orginal files won’t be deleted or modified in anyway. (c) 2013 Broken Signal Entertainment
Reefer, Thanks for this great program, I have used it to re-organise my back up of the asset store cache in my user profile. While it did a great job, I found a single minor issue. Prior to updating a certain asset through the asset store, I renamed the same asset in my cache to be the specific version number so that I could go back to the old version if required. After updating the asset, I ended up with 2 versions of the asset in the cache folder, asset.unitypackage and asset(v1.61).unitypackage.
After running your program only 1 of these assets has been copied across to the newer file structure. I only have about 200 assets at the moment, and it worked fine for these.
A slight improvement for your program could include the option for it to not require all of the assets to be in a single folder. The cache in the user directory files each asset under the author name, and this means collating the asset first, prior to running your program.
First of all, I think it’s because of that “(v1.61)” part as it doesnt know how to parse anything else than letters if I understood what you mean right. This will be fixed on next version that includes GUI + alot of new features to make your life even easier.
On version 1.2 we are going to include an option to load unitypackages from different folders and categorize/move them all in a selected style, without renaming unitypackages. Ofcourse renaming em too will be still an feature.
unityPackages can be categorized by selecting one of these options:
This makes perfect sense. The changes for your new version sound wonderful. One thing that does spring to mind is the ability for your program to place the version number of the asset in it’s file name.
I use unity to produce simulation software for clients and it is important for me that I know which version of an asset I am using for each simulation. Sometimes I would prefer to use an older version of an asset due to some specific feature and this is the reason that I backup and rename the files in the cache to be version specific before updating items from the asset store. It seems you are heading down this path by the look of the new GUI anyway.
Yes actually, there is an new version of it now. This got delayed because there was an change of programming language we used to do this. First we tried to go with BlitzPlus, but after that version was ready we decided that it was way too buggy.
So then came in change to C# and that’s the version I can now proudly present:
UnityPackage Manager v 1.1
Program used to categorize, rename and open UnityPackages!
Features:
GUI
Rename packages (example: 12409213909301.UnityPackage to ActualNameOfPackage.UnityPackage)
Categorize packages in to folders (example: Scripting\Physics\xxx.UnityPackage or Shaders\Fullscreen Camera Effects\xxx.UnityPackage)
Open UnityPackages and see what’s inside of em.
Extract files.
Showing script in program from files: .txt / .cs / .js
Showing preview pictures of prefabs, models, audio and texture files.
How to:
Rename / Categorize
To rename or categorize your UnityPackages select: Tools - Manage Packages.
Now add all UnityPackages you wan’t to have renamed or categorized and select output folder.
Click Start.
Your packages will be now categorized, renamed or both, and can be found from yours output folder.
Extracting files
Select File - Open
After your UnityPackage has been opened, select one file from inside of your package with double click and then: Tools - Extract single file.
Or if you want all files to be extracted, select: Tools - Extract all files.
Mkay. We had some problems with communications I see. Reefer didn’t tell me there’s a topic for our program, so there’s another topic for this…
I’m sorry for this. We will be moving all the information here soon and hopefully get rid of the other topic.
About publishing the source codes:
No. For now, I’m not going to publish any of it. The information and codes are available on the internet - you just need to do some of your own digging. Not trying to be an a***ole, but seriously, there’s nothing in the code that would be worth sharing.
FIX: If output directory is set, packages will be moved there. If not, they will stay at their original location.
CHANGED: Changed extract option from Package Management to “Add version to name”.
FIX: Package names will now be checked for invalid characters.
FIX: Packages that are being renamed but doesn’t have a title will still be moved to new location (see first fix above).
FIX: Checking “Overwrite” in Package Management should now be working properly. If “Overwrite” is not checked and program finds another file with same name, new package name will be format “myPackage_2.unitypackage”.
P.S.:
Since I’ve found a language called HaXe, I will mostly be working with it. Although, if you find bugs that are really bad and tell me about them, I will work on them right away.