Start typing to search packages!
remotemanager
By @ptekspy
Roblox
MirroredRemoteManager
RemoteManager is a small Roblox Luau module for ensuring remote objects exist and are exposed from a shared ReplicatedStorage.RemoteManager container.
This package loads remote event and function names from the local ReplicatedStorage.RemoteManager.Events and ReplicatedStorage.RemoteManager.Functions modules, creates missing remote instances on the server, and returns a shared table with the resolved remote objects.
Features
- Automatically creates missing
RemoteEventandRemoteFunctioninstances on the server - Uses a single
initmodule to expose shared remote objects - Supports local client access by waiting for existing remote objects when not running on the server
Installation
Install the package with wally:
wally add ptekspy/RemoteManager
Requirements
- Roblox game with
ReplicatedStorage - A
RemoteManagerfolder insideReplicatedStorage - A child folder
Eventswith a module namedEvents - A child folder
Functionswith a module namedFunctions
Each module should return an array of string names for the remotes to load.
Folder structure
The package expects the following runtime structure in ReplicatedStorage:
ReplicatedStorage
└── RemoteManager
├── Events
│ └── Events (ModuleScript returning an array of event names)
└── Functions
└── Functions (ModuleScript returning an array of function names)
Usage
Require the package module from your Luau code:
local RemoteManager = require(path.to.RemoteManager.init)
After loading the module, the returned table contains:
RemoteManager.Root- thescriptfolder used as the root in the packageRemoteManager.EventsFolder- theReplicatedStorage.RemoteManager.EventsfolderRemoteManager.FunctionsFolder- theReplicatedStorage.RemoteManager.FunctionsfolderRemoteManager.<EventName>- aRemoteEventinstance for each event name returned by theEventsmoduleRemoteManager.<FunctionName>- aRemoteFunctioninstance for each function name returned by theFunctionsmodule
Example:
local RemoteManager = require(path.to.RemoteManager.init)
local playerJoinEvent = RemoteManager.PlayerJoined
local getProfileFunction = RemoteManager.GetProfile
playerJoinEvent:FireClient(player)
local result = getProfileFunction:InvokeClient(player)
Server and client behavior
- On the server, missing remotes are created automatically in the appropriate folder.
- On the client, the module waits for the remote instance to appear if it is not already present.
Development
This package is a Luau module located in src/init.luau and is configured for use with wally.
License
Apache-2.0
Package Details
Install command (Click to copy)
Version
1.0.1
License
Apache-2.0
Safe for commercial use
Modified files must carry a notice of changes. If the package ships a NOTICE file, its attributions must be preserved.
Automated license review — not legal advice.
