godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.15k stars 97 forks source link

Implement favoriting assets in the asset library editor #3521

Open mrfisty opened 2 years ago

mrfisty commented 2 years ago

Describe the project you are working on

N/A

Describe the problem or limitation you are having in your project

The AssetLib in its current state is a bit cumbersome to navigate.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Add a favorites tab to the AssetLib. Currently, the AssetLib is a bit disorganized and challenging to navigate. In my opinion, this seemingly small UI/UX change would make a major difference in organization, and how the AssetLib is perceived by its users.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

"[..] require some changes to the asset library backend to allow returning all assets that match specific IDs (which would be stored in the editor settings)." - Calinou

If this enhancement will not be used often, can it be worked around with a few lines of script?

No.

Is there a reason why this should be core and not an add-on in the asset library?

It would be a way to manage the asset library itself.

Related forum thread: https://godotforums.org/discussion/comment/55485#Comment_55485

Calinou commented 2 years ago

See also https://github.com/godotengine/godot-proposals/issues/142 (which is much more complex to implement than this proposal).

For this proposal to be implemented with local (editor-wide) favorites, we need two things:

This approach doesn't allow synchronizing favorites across machines (unless you synchronize your editor settings file somehow). On the bright side, it's easy to implement and doesn't require you to create an account just to add assets as favorites.

As for favoriting assets using an account, this is much more involved, both on the API side and the editor side. The editor would need to be able to log into an asset library account, which makes things a lot more complex. Since the current asset library backend is in maintenance mode, I'd prefer not working on that until we migrate to the new asset library. I don't have an ETA for deploying the new asset library right now, since we still need to sort out the hosting for it.