Asset Browser functionality clarification

I wanted some clarification on why the Asset Browser currently functions the way that it does. Essentially this is the issue:
An asset that is marked as Asset with child objects will not bring in the child objects (Scenario A)
OK
However if a child object is marked as Asset it WILL import its parent (Scenario B):

This is very confusing and is backwards to how these relationships normally work. Blender is essentially treating the Child object as a parent when importing, bringing in everything above it. Is this done due to dependencies or is this a bug?

Having the ability to import entire hierarchies by just marking a single parent object would be incredibly beneficial. It would allow for individual objects to maintain independent modifier stacks and more.

We can add Collections to the browser but they don’t have icons.

I’m sure there was a reason for this and wouldn’t mind a discussion on it.

6 Likes

It indeed appears backwards, at least from this perspective and because this use-case is simply not covered by the implementation yet. It does follow the existing Blender design, which we can’t simply break.

If you want objects to be treated as some kind of group, the Blender design is to use collections. So to have such a hierarchy available as asset, you’d have to create a collection out of it and make the collection an asset. We or an add-on could add an operator to do this quickly from the context menu.
Blender 3.0 doesn’t support collections as assets unfortunately, in Beta builds they are available as experimental feature (but they have a number of issues still).

What happens when dragging in a child object is that dependencies are imported along. So just like an object’s materials are imported with the object, the parent(s) it’s assigned to come along as well (also with regular link/append). Same for example if an object has a boolean modifier: The object assigned to the boolean is imported with the main object. So importing merely preserves dependencies, not other relationships, if that makes sense.

2 Likes

Thanks for that clarification.
So just testing, currently collections themselves can’t be added but Instances of collections can be.
It will append the entire collection into the scene + the instance, so 2 copies will appear but the objects inside remain independent. A little messy and it also doesn’t generate the Icons for the library but it might be an option going forward for me.
I might give those other builds ago as well.
All good. Thanks again!.

I’m curious, how exactly are you creating those instance assets?

It’s just by right clicking the collection and selecting “Instance to Scene” then selecting that Instanced object and marking it as an asset. I was working on a script that automated this with the commands just to see how far I could get for what I needed.
Here’s exactly what I’m seeing / doing, at least via UI:

Okay thanks. Earlier it sounded like you had the experimental Extended Asset Browser enabled, so I wasn’t sure how to interpret your description. You seem to have it disabled now, so all makes sense.

Making the child an Asset is a cool trick !
But it seems partially unsupported :

  • Appending work fine
  • Linking is broken : only the child is imported, no bounding box, drop location is unpredictable, impossible to link more than once

@julianeisel Should I create a bug report or it’s a known limitation ?

Any news regarding object hierarchy support with Asset Manager?

1 Like

I’m also curious about it - any news? This is essential for as i would like to start building up my asset library but can’t do right now because merging is no option for me.
Hopefully grouping the objects under an empty will work!?

2 Likes

I also think this is really important. Is there some feature request where you can vote?

1 Like

Yeah, this one is particularly cruel for those of us not as smart as @Manu:slightly_smiling_face:

I spent hours preparing an asset library of thousands of objects… and never even considered this being a thing, and yea… excitedly dragged-and-dropped an object with a few children, and well, here we are.

The scene-collection-instance-collection trick is a lot of effort, only to be rewarded with losing the icon.

Any indication when this might be looked at would be warmly welcomed!

:sob:

1 Like

I have tested the current 3.2 build (with Extended Asset Browser), and the only improvement I found is that linked collection assets (not a single-object asset though) can be now drag & dropped to cursor position, otherwise all the limitations are still there:

  1. Still not possible to reload / update conveniently (needs to be done by navigating to Outliner → Blender File view → finding the library → context menu → reload), why it can’t be placed for example here?
    image

  2. Collection assets - Mark as Asset takes very long (like 5 seconds for a collection consisting of a cube & sphere), no preview (needs to be added / rendered manually) … generally I would prefer Eevee for thumbnails - like with .blend previews, should be faster & more predictable? But I don’t know if it is technically possible

  3. Still no snapping / randomize etc. options (snapping doesn’t work at all for Collection assets - probably just some temporary issue?)
    I would expect similar options like in 3D Viewport
    image

  4. When Collection asset is drag & dropped, it creates 2 instances at first, which is unexpected
    drop

  5. Clear Asset is still performed by clicking on category, not the asset
    clear

and more …

I was about to use Asset Browser for a game environment creation, but with all these limitations it currently provides almost no benefit over using classic libraries (at least for this use-case).

2 Likes

Work on collection assets is still ongoing. I’m unfortunately the only person working on such tasks currently and I have a whole bunch of other important things to do, so it’s not progressing as fast as I’d like it to. But since this will have to go to 3.2 anyway (way too late for 3.1), there is plenty of time still and I’m not too worried. Just a bit more patience!

21 Likes

Thanks for your efforts, Julian! :slight_smile:

2 Likes

Great work on the Asset Browser Julian. Looking forward to the improvements in 3.2.

Thanks, looking forward to updates :slight_smile:

Great news, thanks @julianeisel !

I would like to know what exactly is asset indexing doing. I have a library that’s pointing to a folder with a lot of files and subfolders and it always takes a long time to load, even though it doesn’t have that many Blender assets yet. For example opening the library for the first time takes about 5-6 seconds to load, then on top of that, changing catalogs takes about 2 seconds every time. Enabling or disabling asset indexing makes no difference.
My guess is that Blender rescans the entire folder structure with thousands of files every time the library is opened or catalog is changed. If that’s the case, maybe automatic refresh should be disabled? There is a manual refresh button after all.

Blender only rescans the asset library when either changing libraries through the dropdown or when clicking the reload button. This is also where the asset indexing kicks in, it keeps track of all the .blend files in the asset library, stores a copy of all the relevant asset data and only updates the asset data of new or changed .blend files. After the first scanning it makes bigger libraries rescan within a few seconds rather than minutes.

The Asset Browser uses the File Browser internally, and unfortunately in bigger libraries (or possibly under some other conditions) the File Browser is brought to its knees and the browsing experience becomes terrible. It’s mostly the preview loading/caching code that tries to be smart, and fails miserably at that. That’s one of the main reasons why I’ve started rewriting the asset browser so it doesn’t depend on the file browser anymore: ⚓ T95653 Split Asset and File Browser, implement Grid View. The mentioned issues should already be solved in the corresponding asset-browser-grid-view branch.

9 Likes

Thanks for the explanation. Please let us know if you decide to make a downloadable build of grid view branch for wider testing.

1 Like