Thanks, I saw it, you are responsible.
Excellent package!
Iāve recently finished downloading 24.48GB of assets and indexing them, and already found it useful for locating specific sound effects.
I donāt know if I missed the option, but it would be great to list all not-yet-downloaded packages. The package manager only allows us to filter for the ones weāve downloaded already and doesnāt have an āinvert filterā option. In the āPackagesā tab filters I see an option for not-indexedā¦ maybe that will do it?
Good idea @pjbaron . I added a āNot Downloadedā maintenance view in the upcoming version (most likely next week).
Amazing! Thank you
Sneek peek of an upcoming expert search feature for those who want even more search power. Use the full capabilities of SQLite.
Asset Inventory is such a fantastic tool! It really helps me browse and search through the many Unity asset packages in my collection. Thanks for developing and maintaining this!
I found a bug, tested on Asset Inventory v1.5.0, Unity 2022.1.20f1.
If I open the Asset Inventory window and then enter Play Mode, Unity would crash. (!)
The bug was caused by line 704 at IndexUI.cs:
(...)
// result
GUILayout.BeginVertical();
if (_contents.Length > 0) // <------ Line 704
{
if (_files == null) PerformSearch(); // happens during recompilation
GUILayout.BeginHorizontal();
(...)
Unity console was raising a null reference exception on that line, every time I opened the Asset Inventory window.
I added an extra null check, and the ācrash on Play Modeā issue was gone.
if (_contents != null && _contents.Length > 0)
EDIT: Other crashes still happen if I type anything on the Asset Inventory search bar, then enter Play Mode.
These crashes seem to be more frequent when Domain Reload is disabled (in Enter Play Mode Options), but they still happen even if Domain Reload is enabled.
Thanks a lot for reporting @andreiagmu . Which version are you using of the tool? I have never encountered this issue before and wonder how it could ever reach the code line you pointed out. The first thing that is done in OnGUI is to check if the app if playing and if yes, no UI will be drawn. Are you saying, when you press play you still can use the Asset Inventory?
I added the null check for the upcoming 1.6 version anyway but would really like to get to the bottom of this. Is the crash gone when you remove the Asset Inventory again?
I was using Asset Inventory v1.5.0, as I mentioned in my post above. I just upgraded to v1.6.0, and the crash issue still occurs (but it seems it became less frequent now).
Yeah, I know about that inital āapp is playingā check in OnGUI.
Normally, when the app plays, the Asset Inventory window gets disabled (it displays that āAsset Inventory canāt be used while in play modeā warning). Then the window reappears as usual after I exit play mode .
But most times, if I have something typed in Asset Inventoryās search bar, when I click play Unity almost immediately crashes.
I think the issue is related to some editor coroutine that isnāt being canceled in time when I press play, and maybe this is causing a memory leak or race condition, something like that. Iām just guessing here.
By the way, thereās another bug where the asset previews arenāt being regenerated when I go back to the editor from play mode. I have to type something on the search bar to regenerate the asset previews.
The coroutine hint is a good one, Iāll check this. About the preview images yes that is some sort of weird drawing behavior of Unity, noted to be fixed!
Oh what could help @andreiagmu if you could send me the Editor.log after the crash. This could really help to identify the spot that causes it.
Sure! Hereās the logs from a crash I just reproduced in a clean project, on Unity 2021.3.11. The project only has Asset Inventory imported.
To reproduce this, I pinned the Asset Inventory tab at the bottom section (near my Project and Console tabs), and clicked Play. Iām opening the Game view in non-Maximized mode, for this test.
Then, I kept entering and exiting play mode, typing stuff on Asset Inventoryās search bar (āgrassā, āsandā, etc.) to display my assets.
Sometimes, the crash may trigger if I display another tab (Project, Console) instead of Asset Inventory, then click Play. But that may be coincidental, sometimes the crashes also happen even if I didnāt change the tab.
I feel like the crashes are more frequent when I display large numbers of assets in Asset Inventory (500, 1000ā¦), and less frequent otherwise.
Thatās one more reason which makes me think itās a coroutine issue.
8552321ā1143494ācrash.dmp.txt (567 KB)
8552321ā1143497āEditor.log.txt (88.6 KB)
Wouldnāt it be better to store the previews in individual folders by the package name or something?
I use Everything (highly recommended) and well viewing thumbnails outside of a Unity is way faster even in Explorerā¦but I donāt like a folder 10,000+ image files in it maybe 1000ās of folders 100ās of imagesā¦cus everything doesnāt care about thatā¦ but not all in one folderā¦ which just leaves going through pages in your assetā¦ and its not like i can look up a preview I saw like āaf-9891.pngā in your asset to see which package that is from!
Database size is reportedā¦ should really report Preview size
Having any sort of named sub structure is not something I would like to introduce since it is exactly the reason why the Unity cache is so horrible. Asset names change so often that it gets invalidated and needs some sort of life cycle. What I could imagine is having a sub structure by Asset id if that is of any help, so it would be Previews/12763/af-32432.png.
More statistics is already requested multiple times and planned for 1.7!
that would be fine. .just some way to actually reverse find the asset/image ā¦ so I could look up 12763 or af-32432.png in asset inventory and find the package/file it was from.
should I hold off indexing assets for this update or will it not need to reindex?
I will build it in a way that it is compatible and automatically reorganizes the existing files
The new release 1.6 has just been published:
- Support indexing zip archives!
- Support determining dependencies of binary serialized files (but without scripts)!
- Index colors & Search/Sort by color (default inactive as it takes a while to index)
- Expert search with input validation and field picker
- Support updating individual packages to newest version
- Support bulk-updating individual packages to newest version (experimental)
- Easy mode: Update everything in one go with only one button
- New deduplication workflow
- Treat storage location of packages as main differentiator
- Support having the same package multiple times in multiple locations
- Update metadata of all duplicate packages
- Handle āoutdatedā calculation much better
- Remove old asset splitting logic
- More efficient and faster update of Asset Store metadata
- Ability to open package in Package Manager
- New maintenance view: āDuplicateā showing packages pointing to same Asset Store asset
- New maintenance view: āUpdates Availableā, with newest updates shown first
- New maintenance view: Not Downloaded
- Improve display of ratings (no empty stars)
- New bulk action: Open Package Locations
- Retry failed web requests one time (solves Curl error shown every now and then, error will still occur though)
- Ensure local package header data is preferred to new online data to represent the actual indexed truth
- Page through search results with arrow keys
- Jump to first and last search result with page up/down
- Show if a package is disabled/abandoned
- Show update available info only if newer update is not yet downloaded in a duplicate asset
- New setting to exclude newly added packages per default
- Reinclude packages automatically when triggering manual reindexing of package
- Optimize database maintenance command
- Allow hiding search results without preview image
- Rename long source url files to consistent short form
- Allow creating a debug report for easier support
- Hide Reindex button if it is not applicable
- Fix incorrect version stored in duplicate bundles
- Fix indexing failing if cached assets are deleted inbetween
- Fix preview images sometimes not getting generated
- Fix SemVer parsing errors in edge cases
- Fix icons not displaying tooltips
- Fix āgoblinā bug: duplication of packages due to identical package filename
- Fix end of package download not correctly updating package location data
While I initially aimed to mostly focus on features under the hood and also did a lot of work there, quite many visible features managed to sneak in as well. Here my favorites this release:
Many crucial parts of the indexing flow were enhanced to provide a much more reliable state when there are multiple versions of an asset in the cache, which happens very frequently whenever asset authors change theirs or their assetās name.
Building on the header information in packages introduced with the last release you can now see available updates easily (also with an indicator in the header) and trigger single and bulk updates.
Two completely new indexers were also added: it is now possible to index Zip archives and the tool can also extract color information (activate it in the settings), making it possible to search for items by color.
More advanced new features are an expert search that gets triggered by starting a search with ā=ā and the support for many binary serialized files so that their dependencies can now also be determined.
UI-wise you will find some nice simplifications, more status information and additional maintenance views in the package perspective. And of course there is a good list of bugfixes as well which should make the tool even more robust.
I strongly recommend to do a force update of the local and online data (hold CTRL key before clicking the update button under settings) to have all data up-to-date.
Thanks to everyone who helped shape this release. Have fun and Iām looking forward to your feedback and suggestions for future versions! And as always, if you want to support me, please leave a review and spread the word
I just finished a first implementation and conversion for the next update. As a side-effect I actually verify if preview files are still in use and delete any outdated ones. That should help a lot with all kinds of downstream processes later.
is that in 1.6 then?
No that will be 1.7, just wanted to give a heads-up