I’m definitely all for this. I’ve been using Rojo since Rojo 0.4.x, and I’m a big proponent for it.
If I were to go back, to when I first started work a game of mine called Heroes Legacy - there was no Rojo. A completely different time, and scary now that I think back on it. I can’t imagine that now, Rojo has made my workflow much more efficient and projects much easier to develop.
The ability to share code and assets between places and games is important. Some games on Roblox make use of Universes, and also some games have different games entirely for their developmental builds.
This is going to be a rundown of why I am big on Rojo, and why I think Roblox should focus more on empowering the power users rather than trying to box them in.
Pre-Rojo
The only option I had when I started Heroes Legacy to share my code between places were basically Models and using InsertService:LoadAsset
. This was a headache. There was LinkedSource
for a wee bit, but it got removed its seems. That was only limited to a single roblox game.
The only option I had for editing scripts was Studio. If there was a bug on both the live version of my game, as well as the developer version of the game - the literal only fix I had was to manually go through and edit both places, or prematurely update the live version to what the development version had and hide stuff - I didn’t want released yet - behind flags. YUCK. Models pretty much ruled everything in this case. I can’t imagine what trying to do this with packages would be like.
Rojo
I can build entire place files using just Rojo itself. I can use the related tools such as remodel to even manipulate models. I don’t even have to touch studio. It’s quite a powerful thing to have at your fingertips, and gets even cooler when you bring automation into it.
I can use my favourite editor - in this case, Visual Studio code - to edit my scripts. I can even use a completely different language, like TypeScript entirely. Everything’s customized to my liking, and it’s a very familiar comfortable environment and I don’t even need to have studio open to work on my code.
I can also build different places using Rojo that share code and also be able to use version control to be able to develop different versions of a game. If there’s a bug, it’s only a code change in the appropriate place, and it can be merged to both versions. If I want to develop a certain version, I just run git checkout
on the appropriate branch, build and edit the place and I’m already ready to go. Use Rojo to sync any changes, and BAM. Power.
Collaboration through external tools is great, people can branch off in their own version of code without affecting my code whatsoever. No “cloud” required. Then those changes can be merged when ready to be. I know exactly who made what change, and when. Changes can be reviewed then approved. So much less margin for error.
Conclusion
I cannot develop anything on Roblox without Rojo anymore. It just makes things that much more efficient and in general is the best way to develop for Roblox. Hands down. It’s the logical step up developers should take in their journey with Roblox. Roblox should accept that. Studio’s a good way to start, it shouldn’t be the end. I think for Roblox to support Rojo, would to better benefit us all, as well as Roblox themselves.