=== Motivation
- When working in a project context (asset library is created for a specific project), linking is the preferred way of bringing in objects, materials, collections, etc. Currently this has to be set every time a new asset browser is opened, and forgetting it means having to redo work.
- In this case (project specific assets), assets should also typically use relative paths. Currently there's no option for that.
- In earlier Asset Browser design discussions, it was determined that there may not be any point in linking assets from libraries that are not project specific. Working files should stay independent of anything that's not part of the working file's project.
- Having //Link// exposed so prominently in the Asset Browser has lead many people to use it, without knowning much about what linking is in Blender, the trade-offs and the context it's created for (more complex projects). I've seen plenty of confusion from it.
- Part of the initial asset browser design was to differentiate between personal and project assets, this wasn't made concrete so far (because it wasn't deemed necessary for the initial asset browser milestones).
Now, there are plans to introduce the concept of projects to Blender, and Blender would know that an asset library is part of a project. But this is likely not going to be done too soon. The proposal is a simple solution for until then.
=== Proposal
Allow users to define if an asset library is user-specific (reuse across projects) or project-specific.
In the Preferences, add an option for each library (enum):
- //Treat As://
-- //Personal Library//
-- //Project Library//
**Personal Library**
Only allows //Append// and //Append (Reuse Data)//, no linking!
"Personal" is chosen because Pablo and I agree this works better than "User". The default "User Library" should be renamed to "Personal Library" too.
**Project Library**
Uses linking and relative paths by default.
----
Once project support in Blender is added, the option may be removed, although it may still be useful. The Asset Browser would have a //Current Project// (or similar) library then, that too would link by default and use (project-?)relative paths.