Integrate Rojo into Roblox Studio officially

As a Roblox developer, it is currently too hard to onboard new developers to use Rojo. Rojo enables me to use Git and a variety of sources. Rojo means I can turn off my computer in the middle of making a game, and I never lose work. Rojo solves my problems. Rojo lets me use a better editor. Rojo also has additional issues where it can’t sync certain assets because it’s not a 1st class citizen.

If Roblox is able to address this issue, it would improve my development experience because I could use Git more freely.

Please, make Rojo a 1st class citizen in Roblox Studio. This is critical to my workflow, and many other team’s workflow. The fact that my team and I have access to Rojo and other teams can’t figure out gives us a strict advantage. Rojo enables Adopt Me’s team to grow large.

Files are not negotiable. Computers are built around files. Files are a very good way to let programs talk to each other. Roblox has spent a lot of energy trying to pretend files don’t exist. This is wrong in my opinion.

Please don’t interpret this request as something different like “well, the users actually want Git integrated into Studio, but not file support.” This would be nice, but I want to be clear that this feature request is explicitly to support syncing files into Studio how Rojo works.

Use case: Source control

Let’s get this out of the way–I am convinced Roblox will never recreate the ecosystem of Git. Drafts will never fully be the same experience as Git, because Roblox doesn’t have the resources to create something as good–nor should it spend resources on this!

  • GitHub has 700 employees.
  • GitLab claims to have 1300 employees.
  • Git is maintained by a separate team!
  • Every major tech company, including Roblox uses Git, and will provide support for it
  • Roblox has 600 employees, and maybe 50 of those are working on Studio, and like 2 are working on source control.
  • Microsoft was selling source control to thousands of companies, for millions of dollars, and is now using Git.

Roblox isn’t in the business of making source control. Source control is really hard. The whole industry has coalesced around Git. Drafts is fine, it solves a different set of problems, but it will not solve the same problems as Git.

Use case: External editors

VSCode is made by Microsoft, and has thousands of employees. Roblox also, will struggle to make something as good as an external editor, although I believe this is more possible.

FileSyncService is super disrespectful to experienced developers

The most annoying thing is that Roblox recognizes a strict need for syncing files. Without Rojo and FileSyncService, Roblox could not develop its own tools.

  • FileSyncService exists
  • Roblox uses Git and external editors in its own workflow
  • FileSyncService is only internal to Roblox–developers do not get access to it.
  • Roblox actually also makes Rojo–but doesn’t fully support it in studio, It’s a second class citizen.

The most disrespectful thing about not supporting this workflow is that Roblox employees themselves need a way to synchronize files into studio. This is how all programming is done… in files!

By having this internal feature, but not giving it to developers, the message is “you guys aren’t smart enough to figure out files” “our engineers need this to build Roblox, but developers are babies and would be too confused by this feature set.” “you aren’t professional enough to use git or source control.” :rage::rage:

Not all of us are 12 years old–and I think a 12 year old could figure out Git. Instead of trying to bring features to the lowest age group that studio supports, please recognize that users can grow and learn. Provide a transition between drafts and git, instead of forcing us into using drafts.

Rojo could be so much more if Roblox recognized files, and synchronized them into Studio. Files are the language that programs use to communicate with each other. The cloud still has files.

Please, respect the community–empower us.

662 Likes

i definitely agree with all of the sentiments present. i think it’s a much better use of resources for roblox to focus on problems only they can solve, instead of trying to reinvent every wheel from the ground up :triumph:

61 Likes

the funny thing with this feature is Roblox has already invented it twice.

  • FileSyncService exists
  • Rojo exists (funded by Roblox)

I just want Roblox to integrate it into Studio, and recognize our workflow is valid and real–not consistently release competing features and then tell us to use those instead of Git or Rojo or VSCode or whatever else we’re using. It’s just super invalidating.

75 Likes

Adding on to this a bit, since I feel like this is an important point, an external editor allows for a lot of important improvements to my workflow:

  • drafting code while on a laptop, even while offline
  • saving even when Roblox crashes, is having maintenance, etc.
  • supporting niche features that are unlikely to ever be implemented to Roblox
  • allowing community-made plugins to interact with the editor itself
  • better built-in theming (an admittedly silly complaint)
  • better control over file structure, rather than having the explorer cluttered with services that we may not use often
  • easier ability to export multi-file projects to, for example, open source them on Github
48 Likes

There are also super invisible features that aren’t obvious to Roblox.

  • Can install a plugin to make creating files easier
  • Now: Making files takes 2-3 seconds instead of 30-40 with boilerplate.
  • Now my files are shorter, so my code is better organized
  • Now it’s easier to write higher quality code faster and be more certain it works

This is something that I think Roblox could easily improve in Roblox studio–but can Roblox do this for every feature set you might be looking for. Nope! VSCode and Microsoft can’t either, and there’s a lot more employees there. Same with Sublime Text. A marketplace can get us there, but it’ll be a while!

Just want to take advantage of a global community instead of just the Roblox one. Every other programming language that supports external editors (read: every single one), has this global advantage. It’ll be years, or maybe even longer, before Roblox can reproduce something better.

Options matter!

54 Likes

This would be absolutely fantastic. Rojo is a big part of my workflow and makes development so much faster and easier. Being able to integrate with git is huge, especially for collaborating on large games and in large teams.

Being able to use the code editor of my choice outside of studio is also a huge plus for me, would definitely love to see more support from roblox for 3rd party development software.

41 Likes

I would love to see the integration for Rojo! Ever since I began using VSCode and Rojo together, I find it difficult to bring myself to use the built-in script editor for Studio because it is so inferior to VSCode and other text editors. Naturally, nobody really expects Studio to have a full-fledged script editor as we should be able to truly use external editors and sync files with Studio in just a few clicks. However, sadly this is not possible.

A few months ago I created an extension called Luau. It has an amazing syntax highlighting that simulates the syntax highlighting from the Studio script editor. In addition, I recently implemented snippets that make it quite fast to enter code patterns or other functions from the Roblox and Lua libraries. If Roblox were to have official support for file syncing, then I am sure many more developers would make extensions that would drastically improve the workflow of programmers on Roblox.

30 Likes

How is this not a thing yet? Plugin API lacks.

This is the best thing that can balance the toolchain for custom implementation instead of defaults.

Adding onto this. I actually find the default source control features to be incredibly frustrating. Instead of inventing the wheel time and time again, let us use git. The actual one. Not the Roblox mocked version.

I have used Rojo for a while and I haven’t not used it since. I find studio’s issues with the editor, the constant crashing and such to be abysmal. Game development should be fluid with the ability to onboard new people to your project too.

The dude who made Rojo needs a raise. He creates fantastic work.

18 Likes

They even use it for developing core scripts, libraries, etc. Even parts of studio are developed with Rojo lol.

As professional development becomes more accessible, I have seen people even younger grasp the basics of this tooling. If Roblox does implement core support for something like Rojo, it’ll probably only make professional development better taught.


The only downside of this, is that a Roblox-created Rojo, would probably be closed-source, propriotary, and likely not written in the most efficient language. :frowning:

25 Likes

It was hard for me to learn how to use Rojo and Git for the first time

I prefer using an external editor (VSC) and Git, but I stopped using Rojo, because it’s hard to work with other developers who don’t have previous experience with it (as stated in the OP)

I also use packages for scripts sometimes, and packages don’t work with Rojo as is

Rojo being integrated into studio would solve the current issues above

25 Likes

I’ve been using Rojo since it first came out, and I couldn’t agree more. Studio is a footgun for any professional development. The fact that I’m actively stressed while trying out anything experimental because I know if something goes wrong that I’m not able to revert my files to exactly how they were before, is a huge problem. Drafts help with this but are in no place to act as a replacement for Git, and really should not even try to compete with it. It’s healthy to rely on industry standard tools.

As a Roblox developer, I feel trapped when I’m using Studio. I value the transferability of skills between things I work on. Web dev, command-line interfaces, app development, game dev that’s not Roblox–all of these can be used with essentially the same tools. With Roblox, I’m locked into the Studio ecosystem unless I explicitly break out. It’s suffocating and doesn’t let me develop common skills that transfer to other disciplines in software development, which is why I will always choose to work with real files for every project I have the control to make that decision for.

The push-back against Rojo is unhealthy and ultimately holds the platform back from being used by larger studios. Adopt Me is 31 people strong, that can not happen with vanilla Studio. I want to echo what Quenty said: please, respect the community. Give us the support we’re asking for. Not what you think we need.

26 Likes

Edit: Added missing link to poll.

A while back I asked people about their favourite text editor, with only 13% (out of 51) at the time of writing this reporting it to be Roblox Studio. Some users on the thread argued strongly in favour of filesync, see for example: https://devforum.roblox.com/t/what-is-your-favourite-text-editor/597255/25. @GGGGG14 also did a poll asking about text editor preferences, and while it doesn’t include Roblox Studio, it highlights the diversity of what users expect from their text editor.

Personally, I find the restrictiveness of the Roblox Studio environment to be the number one issue in my workflow. Innovation is always nice to see, but the scope of what Roblox tries to change needs to be limited. As a developer and user, I want software to enable me, not to restrict me.

10 Likes

Scaling the Adopt Me team to 30 team members would not have been possible without proper code review through GitHub PRs that have enabled us to share knowledge and catch mistakes.

Rojo’s existence is the reason why we’re able to access professional tools like git and vscode, available to the broader software engineering community that are more comprehensive than existing Roblox proprietary equivalents, and thus we are incredibly thankful for all the work that LPG and other open source contributors have put towards building this bridge. But as Quenty and others have pointed out, without Roblox’s official support and endorsement, Rojo will lack access to critical APIs and engineering resources that could greatly improve the quality of life of our team and other professional teams.

I’d love to see industry standard workflows receive official support from Roblox Product & Engineering such as with Collaborative Editing.

I know this is a complex and at times contentious topic for many employees internally within Roblox Corporation. Ultimately, the Adopt Me team isn’t ideological in what solution must be implemented into Studio: It doesn’t have to be Rojo. It can be something else. But it needs to solve the same concerns and grievances that power users and professionals within the community have held for a while.

To Roblox Product: In the spirit of open source, let’s Collaboratively Edit a solution together. The professional community wants to help with ideas and context, just reach out with sustained dialog.

133 Likes

Jailbreak development heavily leverages open-source tools like Rojo. And Rojo alone has completely changed my development experience. To echo the points in this post:

  • Git allows me to confidently make changes knowing they’re all tracked, work on multiple features at once, and release individual features as they’re ready, rather than when everything works together. Also enables working on long-term projects/refactors.
  • An (external) text-editor with support and customization to allow programmers to work in the environment (with shortcuts, plugins, and other niche features) that they’re used to, rather than forcing to learn and be slowed down by an sub-par-text-editor. This has single-handedly contributed to a huge, huge increase in productivity.

I am very thankful to the great talent (@LPGhatguy, @Anaminus, et al.) creating these super-tools that empower my workflow 10x.

114 Likes

Another key use case for me is the ability to (aside from other file editors) use external tools that all operate well on files.

For example, I use external tools to render and generate spritesheets and their lookup tables for me, which just dump results in a file, which Rojo happily syncs to Studio. Or to synchronize localization tables into Studio, which I automatically generate externally (merging translations from multiple external sources together, such as from other professional translation services who all operate on files).

Without Rojo this sort of stuff would be a huge pain to sync manually and leads to lots of manual tedious work.

26 Likes

This is the biggest thing. Often times I understand that product/PMs will not take feature requests at face value—as you should often. But this is different.

I’m telling you, please, we know this is what we need for our workflow. Please don’t try to dictate how we use roblox studio to us. Files are not negotiable.

Please respect the community. We know what we want. Let Roblox’s studio be an excellent tool. Empower us to use Studio this way.

38 Likes

Since I’ve started using Rojo in my workflow, collaborating with other developers and working on larger projects became significantly easier. Besides being able to use industry-standard tools, I can also be confident that all chains in my workflow do exactly what they are promising to do. There is no magic cloud that promises to take care of my project and then lets me down once a week, like is the case with Roblox’s set of tools on offer.

File versions that can be stepped through at any point in time, great tools to merge code and full manual control over the files that my team is working with are some of the things that I rely on and that Rojo empowers me to use, which are all critical for me to work on games profesionally. I’ve found a lot of the cloud-based tools that Roblox has introduced in the past couple of years to be cumbersome to use, clashing with my workflow and the workflow of profesional tools and engines, and unreliable.

It feels like my workflow is actively hindered by Roblox and the direction that Roblox Studio developments are following. As long as the development environment Roblox offers to developers does not match that of tools developed by many open-source developers, this policy mocks the many profesional developers on the platform and doesn’t give me the feeling that I’m taken seriously.

28 Likes

The thing is, in some cases like Git, as I articulated above, Roblox will never be able to provide the same experience, because Roblox does not have the resources. This primarily comes down to source control and external editors. The companies maintaining these are LARGER than Roblox. And they pay their engineers more. The economics don’t make sense.

In other cases, like using an external tool (like a behavior tree editor), there is no way Roblox will specialize into this in a way that is sufficient.

Files are the language of computers.

22 Likes

I fully agree with your stance that files are non-negotiable. The collaboration features that Studio has been receiving / are scheduled to receive do not give me confidence that Roblox will offer tools that can match the tools already available from the open-source community and wider industry, and thus I’m a large fan of Rojo and hope that it becomes a officially supported workflow.

There’s no need to re-invent the wheel when there’s the open-source equivalent of a Tesla Model X available to use. For free.

16 Likes

Rojo becoming a first-class citizen within Roblox Studio would be amazing. Rojo is absolutely fantastic as it removes the hindrance Roblox Studio imposes on me, allowing me to work much more productively and use industry-standard tools to get work done (such as a well-built IDE like IntelliJ, and version control via Git).

Roblox I feel should really listen to the community here - those who are actively developing for the platform. I must stress the term “listen” however. Each post should be read thoroughly, digesting what each developer has got to say.

I do however feel Rojo should be decoupled in the sense that it remains open-source. Keeping it open-source allows us, the developers who use the project on a daily-basis, to improve it ourselves by contributing on GitHub.

Roblox treating Rojo as a first-class citizen also has the benefit of allowing Roblox engineers to focus on other features which are unique to the Roblox engine, rather than spending time trying to replicate what other established applications (IntelliJ, Visual Studio Code, Git, etc) have already developed and trying to keep up.

13 Likes