Grab Yer Assets (GYA) v3 - UnityPackage Import & Management

Asset Store Link: Grab Yer Assets

Grab Yer Assets (GYA): Makes accessing, managing and importing your (offline/downloaded) Asset Store & Exported packages a breeze.

  • import assets without going to the Asset Store window or manually searching through your folders

  • find an asset in your collection quickly

  • have access to multiple user asset folders for organizing your assets

  • keep track of multiple versions of one or more assets

  • organize assets into groups

  • import a group of commonly used assets at one time

  • tag your favorite assets

  • … The list goes on … So feel free to peruse the forum, ask questions, etc.

GYA’s feature set make it a prime candidate for being the first asset loaded into any project. After that, simply use GYA to import the rest of your assets with ease.

Notes:

  • GYA is not an asset/package downloader, nor has it ever been meant to be.
  • GYA should be manually refreshed anytime that assets have been downloaded/updated from the Asset Store or if any file actions have been performed externally of GYA that could cause the file info to become invalid or outdated.

Notes for GYA v3.19.x +:

PLEASE NOTE: While ‘Overwrite Protection’ & ‘Remove Versions’ should be perfectly safe to use, it is highly recommended to have a backup of your Asset Store folder just to be safe.
This is always a good idea in any case.

Important Note regarding ‘Asset Overwrite Protection’:
This feature is NOT for everyone, it is primarily intended towards those that wish to maintain multiple versions of ALL of their assets.

What to expect IF you enable this:

  • Your Asset Store folder WILL grow rapidly (disk space & # of files) as you update assets.
  • You will have to delete any older versions that are not wanted, as older versions are no longer overwritten when updated.

So … ONLY enable this IF YOU HAVE NEED OF IT!

What’s new in v3:

Optimizations:

  • Collection (Package/Folder) scanning re-write to add Indexing greatly improves subsequent ‘Refresh’ times
  • UI/Scroll View re-write, can now display 10k+ assets without slowing down.
  • Overall, a good size re-write with greatly improved code separation & numerous other internal optimizations.

These changes give GYA a noticeable performance leap which was the goal.
GYA v3 can now easily maintain/scan/display 10k+ packages.

UI improvements:

  • Improved ‘Preference’ handling for easy access to: Quick Reference, Preferences, User Folders, Groups, Maintenance, etc.
  • Improved ‘User Folder’ & ‘Group’ management
  • Version locking (optional) of packages within Groups. (AS packages only, n/a for Exported packages)
    Right-click on any asset in the Group, select ‘Lock Version for this Group’ to select which version to lock.
    Say that you have a project that requires a certain version of an asset, THAT version can be locked to it.
    That way, if you want to use a Group more as a Project Group, you have the option.
  • Improved multi-version list view and handling
  • 3rd Toolbar (optional) added for Quick Access

3rd-Party Asset Integration:

  • Package2Folder (by focus) support has been added to allow for importing assets into a user specified folder within the current project ‘Assets’ folder

– NOTES:

(1): The following are disabled by default, but can be enabled in the Preferences as desired.
‘Persist Mode’ & ‘Purchased Assets’ list retrieval.
‘Persist Mode’ is not currently enabled for Linux.

(2): GYA v3 uses a different file setup from v2. ‘GYA Settings.json’, which contained both the Settings & Groups has been split into separate files, ‘GYA Prefs.json’ & ‘GYA Groups.json’.
GYA v3 will automatically import and backup your v2 (2.15c15j +) Settings and Groups the first time it is run.
Changes made to the Settings or Groups using v2 AFTER the initial conversion, will NOT be carried forward to v3. So, it is best to upgrade any projects using GYA at the same time, to avoid making changes with an older version.

(Left) All Assets View ‘The default view’ - (Right) Categories Menu

(Left) Publishers Menu - (Right) Search & Sort Menu

(Left) Selected Assets Menu - (Right) Individual Asset Menu ‘Right-click’


Noted contributions and thanks!:

  • Eagleeyez was kind enough to make a video of GYA in use. You can find it … HERE
  • OnePxl, who created the collection icons and for providing use of the ‘Fast Asset Store’.

Color Chart for Collections:
Green = Asset Store
Blue = User Assets
Plum = Standard Assets
Orange = Old Assets that have been consolidated
Red = Old Assets that have not yet been consolidated

Features:

  • Unity 2017/5 Ready

  • Scan/Show multiple Asset Store Folders

  • Easily access your assets (*.unityPackages): Asset Store, Standard Assets, User Selected Folders, Old Assets

  • Single & Multiple asset import

  • Supports multiple User Asset folders which can be located on another drive, share, NAS, etc.

  • Persist Mode - Maintains a copy of GYA in Standard Assets for easy access when creating a new project or loading GYA into an existing project

  • Unitypackages within the local project directory will show up at the top of the All collection. i.e.- Unitypackages that are imported into a project as part of a bundle.

  • Collections are color coded for easy visual reference

  • Groups (Create, Add, Rename, Delete)

  • Favorites (Which is the default Group 0, any asset added to this group will have a star placed next to it for easy reference)

  • File Handling with confirmation prompts

  • Handles Asset Store packages and Exported packages

  • Multiple Search & Sort options

  • Info panel to show asset details

  • Automatically finds and shows any Old asset versions

  • Show all available versions when selecting an Asset

  • Consolidate (Move & Rename with version appended) Old Assets into a separate folder “…/Asset Store/-Grab Yer Assets (Old)”
    Makes it easy to backup, delete or just to keep them separated from your updated assets.

  • Direct access to Asset Folders

  • Direct access to Asset URLs (Unity or your default browser)

  • Copy Asset Path to Clipboard

Usage:
Refresh Icon: Rescans the folders and rebuilds the asset/package list.
Left-Click: Toggle asset for multi-import
Right-Click: Display popup to load the asset or open the assets folder or URL
Up/Down Arrow: Cycle through the various Asset views (Asset Store, Standard Assets, Old Assets, User Assets, Groups)

Information and help regarding the ‘Purchased Assets’ list:

IMPORTANT NOTE: Web data integration is DISABLED due to changes in the Asset Store

GYA v3 works with Unity 5.x and up
Platforms supported: OS X, Windows & Linux

Your feedback is always welcome and reviews are always appreciated.

Asset Store Link: Grab Yer Assets

Actually… how about saving the descriptions locally so we can search through them? And a field for additional notes, also searchable. And an ability to add features to a central database, so that you can search for a certain feature (say making roads from splines) and you would get a list of assets that can do that, including ones you don’t have. And tracking prices over time? Etc…

This looks great, I hope it’s approved soon, I want to buy it.

OnePxl: I had plans to make use of the embedded description inside the unity package files and easily added the code that allowed for searching the description. However, I quickly found out that the embedded description appears to be an optional object, so not every file includes it. With that in mind, it is worthless to search on the included object at this point as it cannot be relied upon. That leaves scrapping the website to gather the descriptions. I’ll give some thought to this.

The other features would probably involve a web server/services to maintain a complete list of assets, data, pricing, etc. While setting up web services to do just that is outside the planned scope, it is something that I will keep in mind.

I am actually surprised there isn’t a site already for tracking asset prices, at least not that I’ve run across. And I have to admit it would be useful as I have bought the majority of assets when they were on sale.

Searching by author (publisher) was added, but may change that to be a simple drop down list for ease of use. Makes it easy to see all the packages by a particular author.

Thank you for the kind words! I hope you will find it as useful as I do.

1 Like

I’ll be honest, I was contemplating writing an asset like this myself. To that end, I have researched how to authenticate with the asset store, giving access to the wish list/bought items/etc., as well as querying all asset info. All through JSON. Maybe I can share those findings? You get a ton of extra info on the asset that way.

I was planning to either use a github repository for the features per package: for a single, central source for the extra info (like direct links to the documentation/homepage/etc. and metadata like preview picture URLs), or a service like Parse.com for the other kind of data.

Same here. I’m lacking the time, otherwise I would set one up myself.

I hope so, too! Looking forward to the release!

I haven’t looked into tighter Asset Store integration as the main goal was for something quick, easy, and not reliant on the Asset Store. Adding in features that can optionally complement that may have it’s uses balancing need/want/function, so I would be willing to look over any information.

I can understand the lacking time, I’m usually working on the road but had a break and decided I needed a project to get more familiar with Unity so choose to do this as it served a purpose for my own needs. I wanted an easier way to import my assets as I’m always testing/playing with any packages I purchase seeing if I can come up with ideas, etc. for a project. I’m going to take a few more days break then probably see about adding in the category and group/favs integration. I would like to hear back from Unity first to see if there is anything I need to address, but we will see. Being my first submission, hoping I didn’t make any mistakes, but who knows.

Enjoy the weekend!

sounds great… I’ll purchase it with a smile on my face :slight_smile:

That’s what I like to hear, someone that’s happy even before it’s available, grin.

I’ve now purchased it with a smile on my face :slight_smile:

Nice work :slight_smile:

are you planning to have it show if an update is available for assets? I updated my assets before I imported yours, so maybe you already have something there?

Well, that was quick, hehe. I was just checking my email and saw that it was accepted. Just popped on to post that it’s now available and you beat me to the punch! Gotta love it.

GYA is fully based offline at this point. All data is pulled directly from the unity package files and simply hitting the refresh button in the upper right rescan’s the folders/files on the fly. I have thought about possibly adding in an optional timed refresh but initially wanted to keep it as clean and smooth as possible.

I will be giving some thought to integrating more closely with the Asset Store. I’ll have to do some research on it.

Look forward to hearing what you think about it!

hey Xeir,
i’m especially interested in the version management as this annoys me in the current form of unity’s asset handling. so does your package somehow keep track or find out the version of an asset which is imported into an project?

can you add the option to completely remove an imported asset (also when things have been moved around for cleanup)? as it becomes more and more difficult to erase everything in a large project when it is spread over several folders.

anyway a good asset on my wishlist.

No I think it’s best with refresh buttons :slight_smile: what I meant was if it would indicate that there was an update available for a particular asset, no worries anyway, it’s no biggie :slight_smile:

However are you planning of implementing a way for us to categorize them, eg Art, Ai bla bla or add tags to assets?

Thanks again

New feature for next version: Persist mode - If enabled, disabled by default, it will make a copy of itself in the Standard Assets folder for ease of getting to when starting a new project. It will also keep the copy in Standard Assets up-to-date automatically with the copy in your Asset Store folder so you never have to worry about it. This was done as Unity shows the files in the Standard Assets folder at the top of the list.

exiguous: The only version management that is dealt with at the moment is with finding out-dated *.unitypackages as I can look inside the file and extract the version data.

It deals with the unitypackage files that are available for import. It does not look at already imported assets and I’ve not looked at nor am I familiar with how Unity keeps track of already imported assets, whether it’s by metadata, guid, etc., so I’m not sure if that is even remotely possible. Might be something to look into down the road, but it is currently beyond what Grab Yer Assets was initially intended to do.

MoHoe: Determining if an update is available for a given asset would require tighter Asset Store integration by whatever means Unity currently offers apart from manually scrapping the data from the website. It is something that I will be looking into in the future.

And yes, I will be adding in category separation along with groups and favorites.

New version has been submitted: 1.14c04j

Features:
Persist mode as explained in the previous post, for ease of getting to when starting a new project
Improved Search/Sort options
Search drop-down moved to the search bar icon
Headers added
Info pane setting now saved
Code restructured for ease of reading

Thanks everyone!

Update:
Realized Sort by Author wasn’t also sorting by title, already fixed, will be in next update.
Group handling is being worked on now.

Hi,
Great idea.

I think a must have feature is warning that an update is available for a package.

I also use a lot of packages for rapid prototyping ideas and keeping packages up to date is a pita.

Edit:
I just picked this up, but I’m a little confused.

Is old assets supposed to list what packages are in the current project?
If so, it’s not listing all of them.

or is there another list that shows all asset store packages in the current project?

ty/

nice asset well worth checking out!

what would really be helpful is option that will go through the asset list and go to unity website and tell me of any asset that there has been an update for. this could be done by scraping the html and parsing out the version info on the asset and comparing to the local copy and giving list or highlight of the ones that there are updates for and some button to open up the asset store page for them so I can more quickly get the update

what would even be better is to work with unity to download the updates automatically. I mean unity 3d should have everything need to so something like this somewhere in there api its just of matter of putting the code together… if some apis are missing work it out with unity developers I bet they would love something like this.

also what would be nice is way to delete old versions. I mean its ok to archive them, but if one does not need them have way to select and click delete or press delete key

anyways best regards and keep plugging away at it until its done!

sonicviz: Old assets are unitypackage files in the Asset Store folder that were left behind when you updated and asset from the Asset Store and it either has had it’s category or name changed, so the update didn’t overwrite it, it just placed it somewhere else. With that in mind, I added a feature to find these older versions and with a click you can move them all to a designated folder, to either leave there just in case, or to delete as you see fit.

GYA deals with the actual files that can be imported, *.unitypackage files downloaded from the Asset Store or that have been previously exported by yourself, etc. I do not know if there is any easy way to detect already installed packages or not, but it is something I may look into down the road.

im: Tighter Asset Store integration is something that has come up previously and it is something that I will be considering later on once I determine what can be done and how. Trying to make things easier when dealing with packages to import is the goal.

Just started with having an option to move the old assets so the user can decide what to do with them, that’s why I added a button to open the old asset folder directly. Trying to be cautious initially. However, deleting and cleaning up of empty folders in the Asset Store folder is already planned for later on.

Once I find out what api’s, etc. are available for dealing with the asset store directly, I’m hoping there will be lots of possibilities as to what can be done.

Appreciate the support!

Thanks for the clarification.

To be really functional it needs version and upgrade notifications of installed packages.

Currently, as near as I can tell from playing with it so far, it’s just a slightly faster way to browse packages than using the Standard Asset store interface with a small side benefit of managing old packages directly instead of using explorer/finder.

Unity really needs a better system for keeping installed packages up to date.
It really is a pitfa at the moment if you do a lot of rapid prototyping.

Anyways, keep pluggin away at it. Good luck.

Hi Xier, I seem to get an error as soon as I fire up the GYA editor from a new project, and then the window is blank.
These are the errors thrown:

My current version is: 4.3.2f1. Can you please help me to get this going?

Let me do a quick check and see what I find.

Did some testing with a fresh project, and with updating from the old version and didn’t notice an issue that would cause that.

EDIT: Sent you a private message so we can see about getting this resolved.

Update notice for version: 14c04j
Anyone updating to the new version, please right-click on the Grab Yer Assets folder and select reimport. Just found out that the newly included textures are not being automatically utilized. This will fix it till the new version gets posted.

This only occurs when updating.
Fixed in next version.

New version has been submitted: 1.14c08h

Features:
Fixed: Textures not loading after update fixed
Fixed: Prev/Next not wrapping under a certain circumstance
Fixed: Sort by Author wasn’t also sorting by title

Re-worked the json handling and cleaned up a lot of related code
Moved sort options to search icon, should have been done in last update
Added headers for Sort by Size