As a Roblox developer, it is currently too hard to easily work on staging plugins for testing from an external editor.
This is because the plugin has to be built to an rbxm and then deployed into the plugin root, when the files of the plugin could be housed their instead
Roblox already supports file-based projects through the secret InternalSyncService, so why not here?
If Roblox is able to address this issue, it would improve my development experience because it means I could develop plugins without needing a tool like Rojo to build it
This post focuses too much on the solution instead of the problem.
Personally if I were to solve this problem I would use a system like the InternalSyncService, which already has a few feature requests:
and make a service that runs scripts under it as plugins, that would make it easier for both studio and power users. Also it would allow for place specific plugins (as an extra usecase for bonus points).
This is why you should focus more on the problems instead of the solution. I came up with a completely different solution and the Roblox engineers will also.
I would show support for the feature request posted above. And create a feature request for a PluginScriptService, or whatever you would like to call it.
Not every feature request has to be a problem necessarily, sometimes its nice to have a feature for the sake of it being a feature.
The format is not a rule, its a convention. Many feature requests dont heavily focus on the problems because sometimes there isn’t a clear problem
The same case is here, the post is short because it’s a simple request, its a simple problem with a simple solution, and it doesn’t need an essay on why its needed.
Could I have elaborated a bit more on the problem, maybe, but its long-winded and overly complicates the simple problem that developing externally in Studio is not a clean workflow, needing to depend on a plugin that isn’t even perfect in it’s own right.
For example: here's some issues with Rojo
It doesn’t support RunContext? (what)
You cant assign multiple instances to the root
Its a bit difficult to manage multiple source folders
Non-script based instances are implemented with JSON files which is janky
In short, don’t expect every feature request to be an essay.
If there’s no problem to solve Roblox won’t want to spend any resources for this feature. Then this request will end up with the other hundreds if not thousands of ignored/forgotten requests. Which is not something you want I presume.
This already has multiple feature requests I linked to above. Making a new feature request won’t make it more likely to be added. Instead you can show support to those feature requests like I said above.
However here you are talking about how it’s hard to “run” plugins, because you have to build to rbxm each time. This doesn’t have a feature request (as far as I know) and is an actual problem Roblox might want to solve. Therefore I suggested that you create a feature request for this (since I can’t).
This feature request is a bit too specific to really clarify a concrete problem. From what I can tell, though, you’re seeking a general solution that allows developers to update code from external editors, with one case being for plugins.
If that were the case, I would show some support to a more generic request here:
.lua files are for lua code. not for roblox instances.
If you want to make a plugin via an external editor; Just sync it to roblox and save it as rbxm again. Its better to not sync it and autosave every sync to the plugins folder because some things can go wrong. (like you accidentally added code to delete stuff or clog output)
InternalSyncService. (or filesyncservice, i like its actual name)
This supports syncing lua files from a given folder. Its sync rules are a little more basic than Rojo but its still feature complete for scripts and folders
ohhh i get it now. you basically want to make folders also counted as plugins with stuff like init.lua, and etc files. yes this would be a good feature