[Early Preview] Studio Script Sync


Today, we’re sharing a very early preview of the new file syncing approach for Scripts we announced at RDC.

Our goal is to provide built-in support in Studio for working on your code as files, allowing you to use your favorite IDE and plugins in any Roblox project.

We want to share our progress as we go

As some of you may know, we first announced Studio Script Sync at RDC in 2023. However, we weren’t satisfied with the initial version. It aimed to simplify code-as-file workflows but fell short.

For those curious about the issues, I’ve included details below:

Expand for more info about our first attempt

For those who aren’t, the feature didn’t feel right, and everyone from the community who volunteered to try it agreed.

After rethinking everything, we’ve redesigned file sync from the ground up. Since we didn’t get it right the first time, we want to be more transparent with our progress and share development updates as we go.

What are we sharing today

Today we’re sharing our first functional milestone on the path to the full feature, as an opt-in feature in the Studio Beta Features menu. You need to enable it in File>Beta Features > Studio Script Sync [Early Preview].

This release includes:

  • The ability to right click on one or more scripts, and sync them to files on your disk

  • Bidirectional, automatic sync. If a script changes in Studio, it will sync to disk. If you save your file on disk, it’ll sync with Studio!

  • Basic error states to help you manage when a file is deleted / sync fails etc.

  • Works in all Studio modes - including team create, drafts mode and local mode

  • Can sync up to 64 scripts at a time (we’ll increase this limit over time)

Looking ahead

As we continue to build out Studio Script Sync, these features are planned.

  • The ability to sync folders + their script descendants

    • This is crucial for letting you sync code bases, not just individual scripts. It also lets you create / rename / delete scripts and folders and have that sync too.
      Expand for mockup

  • Starting sync from the state on disk, rather than the state in Studio

    • This is crucial if you want to check your code into a version control system like git, or you want to import work you did while Studio was not running
      Expand for mockup

  • Resuming your sync session when you restart Studio

  • Seeing what your teammates are syncing

    • This helps you avoid treading on each other’s toes in team create
      Expand for mockup

  • Exporting source maps

Why are we releasing this so early?

We missed the mark before, so this time we’re being more transparent, sharing our progress, and encouraging open dialogue. Since no one likes unfinished features, it’s only available as an opt-in for those interested in giving feedback.

We’re releasing this early due to the upcoming holiday code freeze in December. This is a period where we do not ship code changes to ensure stability through the holidays. We wanted to get this out before, to give you time to try it before Studio updates resume in January.

How is this different from Rojo?

We think Rojo is great and have no plans to replace it or make it obsolete. We’re grateful for the productivity boost tools like Rojo provide to creators.

Rojo serves as a build/compose/sync tool, converting file system sources into Roblox content. This is powerful for creators who want their project’s source of truth on the file system, but that approach isn’t right for every project.

Our sync feature lets you work on script files using external tools, regardless of how the project is set up—whether it’s using Team Create or not, or if collaborators use different tools.

To help creators choose the right tool, we asked @Dekkonot from the Rojo team for their take:

How can we give you feedback?

We’ll be watching this thread closely - and endeavor to respond to as many questions / feedback points as we can.

Let us know what you think about the upcoming features listed above. If you have feedback on how this could be more useful for your workflow, please let us know!

Thank you.

316 Likes

This topic was automatically opened after 9 minutes.

This is a really cool feature I’m excited about but if you’re not going to make it opt-in please at least tell us the flag name :melting_face:

image

22 Likes

As someone who saw the earlier version of this, I’m really happy Roblox took the time to stop and really fix the massive workflow issues. I want to see what using it in alpha is before making any really strong opinions but even from the short video it feels miles better.

Although given I am focused on full project sync, it may be one of those not entirely for me at least in its current state

I will say if Rojo can replicate that level of live script sync for both ways, it’ll be a massive leveling up, because it’s done crazy well here

19 Likes

hi that’s me

To be very clear: if your thought is “why does this not do X?” the answer is either 1.) it will eventually or 2.) use Rojo instead. Like as an example: if you want to sync your entire game in from the disk? Yeah you should probably use Rojo.

I know this might seem obvious but Rojo and file syncing have different goals, and Rojo is a lot more mature than file syncing is right now. There will be missing functionality and we probably won’t ever share the same functionality (I doubt that Roblox is going to adopt needing a project.json, ha ha).

29 Likes

Can someone explain to me why some people prefer to use external code editors over the built in code editor?
I always thought it’s just a hasstle to open up a new softwere just to do somthing the built in code editor can do just fine, so I’m guessing there’s some benefit to using something like vs but I can’t figure out what that is.

25 Likes

Really excited about this. The biggest thing I’ve wanted was to be able to use my own code editor, whilst our team can continue to use Roblox’s script editor alongside things. This will solve everything I’ve wanted!

One of the things we struggle with due to our project’s setup is models and other instances that are children of scripts, if we were to migrate to Rojo this would require a complete project structure change which is far too much work at the moment, I hope this won’t have the same issue :crossed_fingers:

16 Likes

Personally, I code in Studio and then publish the code to Git by transferring my code over. The version control is way better on there becuase that’s what it was made for, also the integrated terminal is nice. Studio’s autocomplete is too big of an advantage to lose for me.

17 Likes

that really doesn’t answer my question… I wanted to know why anyone would use something like Vsual studio when roblox built in code editor exists

15 Likes

because the experience is better with automated tooling and extensions. not to mention external editors are more responsive and less issue prone

15 Likes

its better, more features and probably lesser hassle than on studio and im pretty sure he just did

11 Likes

I work from VS Code for all of my development from creating websites in TypeScript to Roblox development in Luau for me there’s some core reasons why I use Rojo and gave feedback on the alpha version of this

  • I want to be able to edit my code on a tablet and that be pushed to Roblox
  • I want to continue to work when Roblox goes down, my code is on device and GitHub.
  • I prefer the customisation of VSCode and having a range of themes and AI autocomplete that assists my code using my own style (love supermaven)
  • I love automated things like formatting and linting.
  • Quick access to the Roblox documentation w/ all the autocomplete it offers.
  • I want to control my own code and be able to take it somewhere else with ease.
  • Amazing support for external libraries like Fusion using Wally
  • I can integrate into Git and use the amazing power of Git to manage my source control, going back and doing full code review before pushing is critical.
23 Likes

External tooling like CoPilot doesn’t plug into Roblox, but does plug into IDEs like VS.

External version control requires file access.

Anyone coming from other engines/platforms like Unity, Unreal, or just software dev in general, will be more comfortable dealing with files. It’s also better for sharing and open-source contributions.

All of that being said - you absolutely do not need external IDEs to make a Roblox game. I’ve developed every Roblox project without one since 2009. But being able to use something like VS, Sublime, Notepad++, etc to edit code (or try out CoPilot) sounds pretty awesome.

17 Likes

Generally speaking, external code editors such as Visual Studio Code offer more rich features and allow you to take advantage of more powerful tools. For one you have access to a variety of extensions that help improve workflow and decrease the amount of time actually spent writing code, as well as better debugging, linting and preventing you from writing impractical code or using bad practices.

Additionally you also gain advantage of tools such as Git to better help with collaboration with other programmers and version control. There’s also features that let you create code templates to prevent you from writing repetetive code or constantly having to copy paste code when using a framework such as knit for example. Additionally, syncing updates between places for games such as a tower defenses or generally ones with a lot of maps that might be split-up into places becomes easier with this as well.

Nowadays, the lack of auto complete is non existant as there are many great tools that add back that functionality and even let you search up specific properties of Instances within your IDE directly instead of having to go back to Roblox or the DevForum to check such as Evaera’s API Explorer. In fact, more often than not do IDE’s with the right extensions have far better auto completion than Roblox does.

Of-course, opening an external IDE to modify any code might become a hastle if you want to make quick changes, which is something that scrtip syncing will definitely improve on, but if you are going to work on the game, opening one and starting a Rojo server once for hours of time saved writing impractical code is not much of a down turner.

13 Likes

This is exciting stuff - can’t wait to try it out!
Also - excellent writeup!

26 Likes

this is actually so awesome, especially for larger teams that use vsc or other ide’s.

9 Likes

We appreciate this. Keep pushing out the W updates Roblox admins & staff!

8 Likes

I really appreciate the humility on display here - it’s truly inspiring to see how you guys working on this feature have been working closely with everyone and have taken a slower and more deliberate approach to shipping this.

As someone who’s seen what the bad timeline looks like when features go wrong, this is a really refreshing way of approaching community feedback :slight_smile:

26 Likes

For me the reason is GitHub and other scripting plugins.

5 Likes

These Roblox updates lowkey keep getting better and better :pray:

7 Likes