Greetings,
As a Roblox developer, it is currently difficult to incorporate large, but common, libraries into my plugins. Currently, we’d have to:
- include the module script itself inside of the plugin, or
- build the library up upon plugin initialization via HTTP requests to Git repositories
Both have their caveats, for example, the first method makes the plugin too bulky in which the actual plugin content may be outnumbered by the library itself. It’s like you need a book for some research project and obviously it’d be impractical to buy an entire library, however you need the contents of that library which may house the book you were looking for.
For the second method, an HTTP plugin request will always need to be allowed, which would be an unnecessary privileges especially if the other parts of the plugin don’t require HTTP.
Therefore, I propose that these libraries be internally included (perhaps within the plugin
global?). By libraries, I mostly mean Roact (IDK about Rodux being particularly useful for plugins, but Roact is) and any others accompanying it (e.g. Otter when it officially releases). I envision the use to be like such:
local Roact = plugin.Libraries.Roact --or just plugin.Roact
--or
local Roact = require(plugin.Libraries.Roact)
Basically, it’d give access to the module (either automatically requiring it or we manually have to do it). I’m sure there must be some centralized module system in Roblox’s built-in plugins already (otherwise that’d just be inefficient); after all from what I’ve heard, their UI is mostly managed by Roact. Therefore, it’d be amazing to get hands on up-to-date libraries simply via the plugin
global. Comparing this to the book-library analogy from before, it’d be like having access to a public library for that book, which is what normally happens.
Now, this built-in library of libraries would be more useful for plugins than for games. It’s understandable and recommended to manually install modules for a game, which is a project usually many times larger than a single plugin. You wouldn’t have a town without an instituted library, so same applies to games.
If this was added, it’d improve my development experience because I’d be able to create robust plugins via libraries. I’ve heard certain plugin developers backing down from utilizing what they know to be life-saving libraries simply because manually including them in every one of their plugins is too bulky.
Thank you.