Integrate Rojo into Roblox Studio officially

Rojo allows developers to use external tools with almost limitless possibilties in general. It allows us to efficiently manage huge games with thousands of assets, hundreds of code files on teams with dozens of people (it even lets us onboard people from the industry who know nothing about Roblox!).

Part of Roblox’s vision is to support studios that consist of over 100 developers (source : RDC 2019). In order to meet that vision, external tooling/workflow support isn’t even a want - it’s an absolute need.

Support 100%.

11 Likes

I’ve not been using Rojo for very long but being able to know where my files are and have multiple versions of them with Git is unmatched.

I’ve been working using team create a lot recently and it’s more stress than it should be. I’m having constant issues with publishing packages and committing drafts ~ it all feels very unintuitive. Having collaborative Git projects makes it so that a team can fork from the original and not accidentally break everything when making changes.

I’m all for something like this - the best part is it already exists and works incredibly well.

6 Likes

I also would like to see Rojo if not integrated into studio atleast supported. The few devs that still talk to me do nothing but sing it’s praise for how helpful it is when they abandon old project to start new ones, and from my limited experience using Rojo I feel that that only hurdle in using it is actually getting it setup and started. Once that initial hurdle is passed it can help save a massive amount of time that can be used to allow devs to fix their wood grain.

62 Likes

Here is a situation that could result in a win win: Let Rojo still be a plugin, but one officially endorsed by Roblox. It would appear at the top of the plugin list.
But why do not just integrate it?
This would be yet another addition to the already cluttered GUI of Roblox Studio. As a new developer, I CANNOT make it out what does everything even do and what do I need to click and input to make a NPC walk forwards at a speed of 20. Adding Rojo as a feature that you cannot opt out of would add to the clutter and I, as a developer not interested in working with Github, would not use it at all but still have it as an unused option in menus.

1 Like

The issue with rojo is there is a web server component we’re forced to run. You can’t figure out rojo because the UX is completely separate from studio. This almost-intentional degradation of rojo’s UX is what this post is about.

For a power user, for the people making top games, Rojo isn’t clutter.

So rojo isn’t for you yet! That’s ok, power users really need this feature though. Non-power users don’t need rojo, but I think providing a clean transition to rojo would benefit everyone. Integration is the first step.

25 Likes

I’ve been using Rojo for some of my personal projects and I’ve really benefited from having version control and a external editor at my side during development. I can’t say I’ve used this recently as the more recent projects I’ve worked on were on studio to begin with, but in my time using it and in comparison to my previous projects, I’ve found that my workflow was a lot more streamlined and focused. Obviously, this won’t necessarily be the case for everyone, and I acknowledge that Rojo isn’t everyone’s cup of tea. However, this doesn’t mean that we shouldn’t support it for those who want to use it.

Roblox has expressed in the past that they want to increase the retention of older users, player wise. However, it should also be noted that developers on the platform also get older over time. While it isn’t a matter of Roblox necessarily losing developers over this (as we are fighting for first-party support for Rojo, it’s not like it doesn’t exist already), it should be Roblox’s goal to enable industry-standard practices, practices that potential and current developers utilise outside of Roblox professionally in their jobs and careers. The goal should be to facilitate every kind of developer and make the platform convenient to work on regardless of who you are.

I’m all for Rojo becoming a first class citizen, but most importantly, I’m all for a platform that facilitates everyone’s workflow and style. :slight_smile:

obviously not trying to undermine any of the admins work, you guys rock <3

18 Likes

Rojo / A local file syncing service that uses the tools that I’m familiar with gives me great joy as a developer, it empowers me to quickly create something, to make sure that I write the best code and that we push out a great experience for our users.

The Roblox platforms currently have many teams on it that work together, and even more during the pandemic, remotely. Distant from each other, but connected to all the services that we use. Our development tools are the ones that make sure that we deliver great content during these times with all the teammates all around the world. Businesses are created on the platform that are worth thousands of dollars and couldn’t deliver if they wouldn’t have the tools that are created by some of the brightest minds in our community. And those are the opensource tool developers that we currently know and are also engineers now at Roblox since they showcased that they are capable of making our experience with the product flourish and empower us to deliver the content and work with our fellow teammates.

Git / External editors allow us to grow as developers, adopt professional workflows to make sure that we write code that is checked by our colleagues, stage certain updates in a timeline, quickly investigate when we mess something up, create different branches so that we can have a proper pipeline. Those are the tools that are required to make the platform flourish, to empower your developers. Why would you not welcome these tools and allow them to connect to your product as first-class citizens of the product, why would you need to reinvent the wheel and create features as drafts?

Please start the dialogue with the users that rely on this tools every single day, to the developers that make this great tools, what it would take to make sure that we create a professional environment for those that need it. For those that rely on the platform to make their bills monthly, those that see Roblox development as a job and no longer a ‘hobby’ that they do in their spare time. It is time that we take those people more seriously to create even a brighter future for the platform as a whole.

11 Likes

Many developers use Rojo as part of their workflows to use external third-party software such as Git & Visual Studio Code to massively improve their workflow. I even use it for my open-source plugin to test the plugin in Studio & push changes to my plugin’s GitHub repository and publish it on Roblox for bug fixes, new features, etc. I can use GitHub Actions as a CI to lint my code with Selene, run unit tests with TestEZ, and publish my library via Rojo.

Roblox, however, has been treating developers who use Rojo as a minority and sends a message by improving features in Studio-only: Use our provided tools for your workflow, not Rojo. That minority, however, accounts to most of the top games on the front page (Jailbreak, Adopt Me, Whatever Floats Your Boat, etc.)

First-party integration into Studio would be really helpful for my & everyone else’s workflows. We could access tools that will be extremely helpful to developers (e.g. proper Intellisense in your favorite code editor, etc.)

8 Likes

This isn’t an issue with Rojo. It’s the problem that new developers, like me, that know literally nothing about Lua at all will have to struggle figuring out how do you do anything in Studio. Learning what does each button do takes a lot of time, and there are tons of different submenus with more buttons. I am just saying that adding Rojo as yet another set of buttons in the menu would make new users more unable to learn how to actually do stuff in Studio.
Studio isn’t simple. Studio doesn’t take “just 5 minutes” to learn. It’s a thing with alot of different functions, some of which are dangerous - even wiping your entire work.

Imagine you as a person with literally no knowledge about how do (for an example) trains work being placed behind a train control panel and being expected to know what does “Issue heat check” mean. It could just be a button that gives you info about the motor’s temperature, but it could be a button that starts a thing you didn’t want to do.

See? You never know what does that mean if you’re not a master.

1 Like

Exactly! I’m all for supporting new users, and many features Roblox is making would be great with Rojo. For example, Git + Rojo + Drafts + Team Create would let multiple people sync rojo into team create!

But in this case, not all features need to be for everyone. Sometimes top developers need features too.

What Roblox should do is provide a transition from using just drafts, to using more powerful tools!

Right now, it just feels like Roblox is disrespecting top developers by acknowledging the pain points, but not the expertise get we have—we know we want Git! This is while Roblox itself uses these same tools.

New users are important to Roblox. But so are top developers. It’s ok to have features that only target one of these groups, instead of making a mediocre feature that no one finds useful.

Edit: to be clear, it’s not just about git. It’s about files. But git is a really good example of Roblox not supporting rojo and part of the workflow it enables.

13 Likes

Yes. This is Roblox’s standard excuse for not including Rojo. And that’s ok. Your pain point is valid.

I do want to address why this is not a valid reason to not include rojo.

First of all, rojo is one button. So you can ignore it if it’s not necessary to you. Second of all, Roblox Studio has horrible UX. This is secondary to Rojo.

However, we are not new users. We each have 10+ years of experience in Roblox. Adding this feature does not improve the UX for new users. This is ok. We’re saying we, as people who are making 90% of Roblox’s money, need this feature.

Once Roblox integrates rojo, it can start teaching new uses how to use it. But until then, there is a MASSIVE jump in complexity—and it makes it harder to hire you to work at Adopt Me or another Roblox game studio.

This feature is not for you right now. That is ok. Roblox should provide a way to teach you how to use rojo.

So once again, Rojo just syncs files into studio. This is not a requirement for making a Roblox game, and will never be. But it is a requirement of large scale teams making top games on Roblox.

New users will probably get little to no value out of rojo integration. This doesn’t matter! Top developers will get massive value out of rojo integration.

Furthermore, If Roblox does not integrate rojo, in 3 years when you need this feature set, it will be much harder for you to learn how to do what top developers are doing.

New user experience matters, but this feature request is NOT for that. It’s for top developers experience.

25 Likes

I could not agree with this more. I recently started using Rojo and my productivity has absolutely skyrocketed. No wifi? No problem! I have been able to program much of my game’s infrastructure completely offline. Without Rojo this would be impossible.

Integrating Rojo officially would be amazing and would likely give us many more useful additions, including the ability to code and save files without needing Studio to be open.

12 Likes

This would be absolutely amazing to have. I’ve been trying to use Rojo and Git for most of my personal projects in the recent months, and Git makes it a lot easier to maintain my code and this wouldn’t be possible without Rojo. If Roblox were to implement Rojo into studio, it’d make coding a lot nicer and hassle-free.

With Git, I can easily seperate features from the game and release them individually. This alone makes managing a codebase a lot easier and, best of all, it’s not even difficult to do! You don’t even need a large team to take advantage of Git or Rojo.

I can understand trying not to release features that younger developers might not be able to learn to use, however some things just aren’t that complicated and I don’t think safe-guarding the younger developers by depriving them of industry standard tools that are practically required to get a real programming job is the best idea.

The only issue with Rojo (for me) is the lack of proper IntelliSense which, if worked on by Roblox, could very well be added. Overall, I think this is a great idea for all types of developers, even younger ones.

9 Likes

I do have one problem with this suggestion.
If rojo is fully integrated into studio - how will it be used by external tools?

Right now, rojo is a seperate tool. That means we can use it with github actions and the likes.
If it’s no longer a seperate tool, how would we access rojo from our own systems? Roblox-CLI? And would it remain opensourced?

8 Likes

As a Roblox Developer I am sick to death of using the Roblox Studio script editor. I want to use external editors such as VS Code to improve my workflow and productivity.

However, Rojo is so confusing to setup and the limited number of tutorials , especially video tutorials, contradict each other and turn people like me away from using it, as much as I really want to. It is also hard, if not impossible to use Rojo with Team Create - I have not got a clue how to set it up.

I would love to see official integrated support.

40 Likes

External tooling is very good. We should all be using Git and whatever text editor you prefer. You should be able to use luacheck, Remodel, roblox-ts, whatever it is you want.

Roblox should not be responsible for maintaining your ability to do that. Studio is their SDK. It isn’t their job to facilitate people not using Studio.

I don’t see a tangible benefit to properly supporting external tooling over the way things currently work. An “official” stamp on Rojo doesn’t make the problems with it go away suddenly and integrating it fully into Studio is a terrible idea because it’s then a black box and makes it worthless for a deployment pipeline.

If you have a feature that Rojo needs (access to breakpoints, ability to write to MeshPart.MeshID), request it directly. If you have a bug that needs solving, report it.

What are you actually expecting to happen if Roblox decides to suddenly start supporting Rojo?

3 Likes

I don’t just support Rojo becoming a first-class citizen of Studio - I support files themselves becoming a first class citizen.

Imagine if I could export a mesh from Blender into my game’s directory and have it automatically become accessible and insertable from the toolbox.

Imagine being able to feed image files straight from my game into a texture processing program, and have those images update instantly in Studio.

This could all be possible if files became a native, first class part of the Studio experience.

41 Likes

With Vesteria, the lack of file support in Roblox Studio puts us in an uncomfortable place that really threatens the viability of the entire project. At 6 scripters strong, our team feels the limits of Roblox’s draft solution every day when we are unable to review each others’ code, create collaborative branches for projects and refactors, see who wrote what code and when, and so much more. Our best attempt at code review has been posting screenshots, screenshots of our script dif pages in our Slack.

So our team is at a huge detriment by not using Rojo. But because Rojo and file support in general is second-class on Roblox Studio, as described in the OP, it’s such a huge undertaking for our team to convert the game structure to support Rojo that we’ve all but given up on it.

It sucks. This feels like common sense. I hate that the Product - Developer team is in this weird lose-lose situation where they want to both make development seamless and the experience proprietary while also trying to design a world-class product for professionals. We’re getting the worst of both worlds! I feel like the results of this feature request will be a great litmus test for the long-term viability of Roblox development.

51 Likes

I really hope this happens. I’ve read a bit about other code editors, like VS Code and Rojo, and really wish I could use those. The only reason I haven’t is because I have heard about how much of a pain it is to get Roblox Studio to work with them. I spend most of my development time in the Roblox script editor, and I’m getting really tired of it. It’s so buggy and hard to work with, and I wish they would just fix all of the obvious bugs, or even better, just let us use other code editors that actually work consistently. There are so many bugs that I bet if a Roblox engineer sat down and used the Roblox script editor for about 10 minutes, they could find several bugs right away. But since the script editor hasn’t been a priority for Roblox recently, they should definitely start supporting outside code editors like Rojo. But after reading some of these replies, I just might check out Rojo now.

5 Likes

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.

35 Likes