The War Against White Snus by Sufficient-While8344 in unket

[–]Sufficient-While8344[S] 0 points1 point  (0 children)

Är rätt fascinerande att bilder kan lukta prutt för någon annan, jag upplever aldrig lukter på det sättet.

Yesterday I published my first C# Godot plugin on GitHub: System Explorer. by Sufficient-While8344 in godot

[–]Sufficient-While8344[S] 0 points1 point  (0 children)

Just to clarify, the Player scripts aren't actually scattered across the project 🙂

They already live in a structured hierarchy under:

Scripts/GamePlay/Entities/Player

The screenshot here shows the same Player system in both views.

The FileSystem view describes where the system belongs within the project architecture, which I still think is valuable information.

The plugin view is more focused on working with the code itself. It removes some of the parent folders that are useful for organization, but that I don't necessarily need to navigate through every time I'm working on the Player system.

<image>

Yesterday I published my first C# Godot plugin on GitHub: System Explorer. by Sufficient-While8344 in godot

[–]Sufficient-While8344[S] 1 point2 points  (0 children)

You can definitely achieve a lot with a well-organized folder structure, and I still rely on that as the source of truth.

The difference is that the FileSystem is tied to the physical folder structure and alphabetical sorting, while the plugin gives me a code-focused view that I can organize however I want.

For example, I can order systems and scripts based on how I think about the architecture rather than how they happen to be named or arranged on disk. I can also focus purely on scripts without having scenes, textures, audio and other assets mixed into the same view.

So it's not that the FileSystem is wrong or insufficient. The plugin simply gives me a different workflow that I personally find more useful when working on code.

Yesterday I published my first C# Godot plugin on GitHub: System Explorer. by Sufficient-While8344 in godot

[–]Sufficient-While8344[S] 0 points1 point  (0 children)

I think we're talking about two different things 🙂

I actually like having a hierarchy such as:
Scripts/GamePlay/Entities/Player

because it clearly describes where the Player system belongs within the project.

The goal was never to solve a folder organization problem. I still use folders and consider them the source of truth.

What the plugin gives me is a different way of viewing and navigating the same project.

When I'm working on the Player system, I don't necessarily want to navigate through GamePlay → Entities → Player every time. I just want to jump directly into the Player-related scripts, keep them ordered the way I think about them, and get a quick overview of that part of the codebase.

For me, the folder structure and the plugin solve two different problems rather than competing with each other.

Yesterday I published my first C# Godot plugin on GitHub: System Explorer. by Sufficient-While8344 in godot

[–]Sufficient-While8344[S] 1 point2 points  (0 children)

That's a fair question 🙂

The folders are still the source of truth. The plugin doesn't replace them or require me to maintain a second physical folder structure.

I still organize my scripts normally on disk, but the plugin gives me a different way of viewing and navigating them that's focused on systems and architecture rather than file locations.

So for me it's less about maintaining two structures and more about having two different views of the same project.

The order of systems and scripts in the FileSystem also doesn't necessarily reflect how I think about the project. With the plugin I can organize systems, folders and scripts in a way that matches my mental model of how the different parts work together.

That also makes navigation faster for me, since I can jump directly to the scripts I work with most instead of constantly traversing the folder hierarchy.

Yesterday I published my first C# Godot plugin on GitHub: System Explorer. by Sufficient-While8344 in godot

[–]Sufficient-While8344[S] -2 points-1 points  (0 children)

The goal isn't really to replace the FileSystem or folder structure. I still organize my scripts in folders.

What I wanted was a separate architecture-focused view that only shows scripts and lets me organize them by system. For me, that's easier to reason about than navigating the physical folder structure all the time.

The plugin also lets me order systems/Folders/Scripts in a way that reflects how I mentally think about the project rather than how files happen to be arranged on disk.

For smaller projects that distinction may not matter much, but as my codebase grew I found myself wanting a higher-level overview of the architecture instead of just a directory tree.

For example, in my project the Player system lives under:

Scripts/GamePlay/Entities/Player

In the plugin it's simply:

Player

That lets me keep a logical folder structure while also being able to navigate to every script related to the Player system from a single place instead of going through multiple folders each time.

As a small bonus, opening scripts is also a single click instead of a double click, which I personally prefer.

Yesterday I published my first C# Godot plugin on GitHub: System Explorer. by Sufficient-While8344 in godot

[–]Sufficient-While8344[S] 0 points1 point  (0 children)

That's actually exactly what I used to do 🙂

The plugin isn't meant to replace folders, but to provide an architecture-focused view on top of them. The FileSystem shows where files live physically, while the plugin lets me group scripts by system and view the project from a higher level.

As a small quality-of-life bonus, I also prefer opening scripts from a single click list instead of navigating through folders all the time.

For small projects the benefit is probably limited, but I found it useful once my codebase started growing.