Replies: 1 comment 1 reply
-
Oh, yes. Please, please, please. Also, I love your mockups. Nicely done. As with most game projects, our files ultimately have a 2-Dimensional structure (at least). Where on the one hand, I have different Mediums of content/File Types, categorizing by what the file itself is, such as Scenes, Scripts, Art Assets, Audio Assets, and so on. Then there is another dimension where we categorize by subject matter association, where it's based on what the file contains or is about, such as Player, Enemy, Level, Environment, Objects. Currently, we are FORCED to choose ONE of those to divide everything by, the other of which will be redundantly reincluded in EVERY SINGLE ONE of those top-level folders. So if I did it by File Type, I would have: Scripts/ with subfolders Player, Enemy, Level, etc.; Scenes/ with subfolders Player, Enemy, Level, etc.; Art/ with subfolders Player, Enemy, Level, etc. it gets old fast. There's no complete answer to this problem without breaking out of the inherent limitations of a linear hierarchichal file structure, and the only way to do that is to either allow items to exist in more than one place such as with symbolic links, or to at least be able to FIND any arbitrary item from where you currently are via tag filtering. While I'm at it, cluttering file names with descriptors is a horrible way to "tag" things... Semi-relatedly, there exists a plugin for Obsidian called tagfolder, and it is incredible. It removes the barrier entirely, by creating a "hierarchical" structure out of composing tags together as filters. It lets you describe what something contains/is about to find it instead of having to remember where you put it. (I personally dream of a day I can use such a thing in any file explorer anywhere, Godot, Windows itself, anything.) I have personally worked on projects of various sizes that have used opposite approaches to file organization (by file type / by topic), and I have always found them to be equally frustrating and limiting in so many ways. Tags will go a long way towards rectifying this fundamental problem. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Be able to define a list of tags in ProjectSettings which can be assigned to files ( scenes, resources and probably external file like PNG,WAV etc... ) and directories.

Why
1 - Better navigation in the file system:
Navigating in big projects is tedious, the "favorite" option is supposed to help with this, but I've never found it practical, and I think a tag system could be an improved version of it (it would be possible to have default tags like "favorite" "debug" etc...)
Another example in the case of level creation, it would be possible to create an "LD" tag to easily find all the level design elements.
2 - Get file lists via code
It's often for debug features that I feel the need for it, but being able to get the list of all the files of a resource type (ex: ResourceItem) or all the scenes that are of a certain class (ex: Map) would be nice, and the tag system could allow to do this.
How it could work
Create tags
In the file system, tags could appear discreetly to the right of the files (the complete list could be displayed on hover)

Assigning tags to files / directories
Via the interface in the file system

With annotation for custom classes

And via code ( maybe with DirAccess / FileAccess ? )
DirAccess.add_tag(file_path,tag)
DirAccess.remove_tag (file_path,tag)
Filter by tag
In file system
With code
Similar discussion
#10457 This proposal is not the same but offers another way to improve navigation in the file system
Beta Was this translation helpful? Give feedback.
All reactions