I’m currently migrating some of my projects to newer Roblox systems and workflows, including the use of server authority and Input Action System (IAS). As part of that process, I’m trying to understand the recommended place to store and run client-side scripts.
My goal is to keep my client code centralized and organized while following Roblox best practices.
The issue?
From what I’ve seen, some newer Roblox examples and systems seem to support placing scripts in ReplicatedStorage and setting their RunContext to Client.
Personally, I’m not against this approach but I’d rather have client scripts in a central location/folder rather than distributing them across different other containers.
I understand the function of StarterCharacterScripts and I find it useful in certain scenarios.
What is the central reasoning or core-benefit to storing my scripts in starterplayer when i could just have it in ReplicatedStorage with RunContext set to client
I’m trying to understand the practical advantages of using StarterPlayerScripts & if they don’t existing I’m willing to migrate.
For example:
- Are there security benefits to using
StarterPlayerScripts? - Does Roblox handle it’s replication, loading, or execution better?
– aside from them being stored inside the player object - Are there edge cases where a client script in
ReplicatedStoragewould behave differently or be less reliable? - Is
StarterPlayerScriptsstill considered the preferred location for player-related client code, and if so, why?
Summary
I’m mainly interested in understanding the reasoning behind Roblox’s recommended practices and if they are still considered “recommended” after recent updates.
If you’re using the RunContext in your workflow, I’d also be interested in hearing how you decide whether a script belongs in ReplicatedStorage or StarterPlayerScripts.
