As a Roblox developer, it is currently too hard to fully group a feature together under one parent.
A workflow pattern I value very highly and would like better support for is the ability to group by feature. What I mean by this is all assets relating to a feature in my game–scripts, remotes, assets, ui–are grouped together under one parent.
For example, say my game has melee combat. For this feature, I need server-side validation to make sure the player could harm another, client-side handling for animations and damaging locally first, at least one RemoteEvent to allow these scripts to communicate, and potentially some UI and other assets.
Right now, server code has to go in ServerScriptService, client code in StarterPlayerScripts, and anything else in ReplicatedStorage. This is a common workflow on Roblox, but the fact that everything is split up means you lose a lot of context to which script is using which of your assets. You don’t have an easy, visual guide to what a Script/LocalScript makes use of without digging into the source. This also doesn’t scale well if you want to have a new Script for each feature, as your services start getting cluttered with many different scripts.
This process also takes a lot of brain power for me. If I’m in my server-side damage Script, I have to recall several different things. Where is my client code? Where are my assets? Where is all the UI relating to this feature? Even if each individual asset is stored in a fairly uniform manner between each feature, it can be a lot to recall in the moment. If all of those questions could instead be answered with “script.Parent,” that would reduce a lot of fatigue for me.
In essence, if Roblox is able to address this issue, it would improve my development experience because it would remove the need to look back and forth between ServerScriptService, ReplicatedStorage, and StarterPlayerScripts. Instead, everything I care about for a feature would be neatly packaged together in one location, reducing context switching.