[Early Preview] Studio Script Sync

Why is Roblox reinventing wheels here? GitHub is already an established thing. Why not just build in git integration?

Great question - we’re building a first party feature to sync Lua Scripts to files because almost any tool that works on code can work against files.

The purpose of Script Sync is to give you a general interface to work against scripts in the file system. This means you can use linters / formatters / codemod tools as well as any text editor you choose.

We aren’t ruling out a simple first party Git integration for scripts, but it isn’t something we’re prioritizing right now.

Part of integrating a Roblox project with Git is converting it into files that can be tracked + diffed. A lot of projects want to check in more than just scripts. Roblox doesn’t want to build this system, because the right way to structure your project as files depends on your use case. Rojo et al have had years to build a configurable format, and we have no reason to believe we’d do any better! We think it’s better that the community is free to innovate on this.

Right now, we think the best way we can help is on providing the APIs / capabilities needed so it is easier for creators to create and maintain integrations like these.

6 Likes

Hey, almost 6 months after the initial announcement, have there been any advancements on the following?

From everything I’ve read online, the only way to properly export the game’s hierarchy is by using Rojo, which then kinda defeats the purpose of this feature.

I feel like this should’ve been implemented and thought about from the start since otherwise there’s practically no advantage to using VS Code vs the built-in editor.

Don’t get me wrong, the push for this to be a reality is amazing and I hope this continues to improve, but I feel like this should’ve been asessed first.

2 Likes

Hi @Ransomwavee - thanks for your message!

We’re actively working on these two features and are approaching the final stages of their development:

  • The ability to sync folders + their script descendants
  • Starting sync from the state on disk, rather than the state in Studio

Immediately after this, we’re tackling sourcemap / LSP support.

We 100% agree with you this feature is necessary for Script Sync to be used in serious workflows. The reason we shared our progress so early with you all (way before the feature was done) is we wanted to give the community an opportunity to follow our development progress live. We thought maximum transparency was the right call given how our first attempt at script sync went! Maybe we shared a little too early, but still - we felt given the circumstances transparency was the right way to go.

The reason sourcemaps weren’t tackled first is we didn’t think they were the hardest technical problem. Most of the risk we saw was in the file watcher, synchronizing directories in team create and the general performance / reliability of this. We wanted to tackle these hard problems first, so we knew the product was built on the right foundation.

9 Likes

In team create, you should not become inactive if you’re working in a synced script and it’s being saved.

2 Likes

Those news are amazing to hear, and I appreciate the swift response and full transparency on the development behind this feature!

I’m really eager to be able to take advantage of this feature once full LSP/sourcemap support is out. While I think the built-in code editor is amazing in its own right, using an external code editor like VS Code will allow me to exponentially speed up my coding process.

1 Like

Following up on this, will we get full intellisense for Module content too? Afaik, as of now plugins can’t give you this since they don’t have access to script content.

Language features in external editors is provided by extensions for those external editors.

There’s a great community authored plugin that does this today: luau-lsp (VS Code Extension) but for it to work it needs to know which files on disk point to which scripts in the DataModel. We want to make sure plugins like this have a way to find this out, so they can work in your external editors.

1 Like

Is there any news on new updates for this? I’ve been waiting for this to get out of early preview and the ability to sync all scripts to the disk at once.

5 Likes

Same here, I’m in a desperate to work in a team like my friend @JOOP_sus

2 Likes

Greetings! I have been using a plugin that achieves basically the same thing called ‘rojo’. With this officialized studio add-on, I was wondering if it can achieve something rojo has not yet completed: team-create syncing. Now, what I mean by this is that if two people are working on seperate scripts on VS (using a github repository to always update it), can they both be active and syncing editing scripts? Because if you’re working with a team of multiple programmers which is usually the case, you always want to be able to not wait in order to program and just want to work on a seperate script without waiting for the current user to unsync so that you can sync.

I am aware this post was made in November of 2024, however I am still questioning it because I do want to test some features of this beta feature myself.

Thank you.

1 Like

Hello. Script sync has been a blessing for me so far, it helps a lot to be able to switch to another code editor when applicable or run analysis/linters on scripts, outside the context of Studio.

I am running into the 64-script limit very quickly though, and it’s preventing me from using Script Sync at its full potential. Let’s use Heroes Battlegrounds - Roblox as a case study.

I am only able to sync all of the base moves for each class + a few util files + a few script/client main files. This does not include:

  • Ultimate (stronger form) moves
  • Any of the scripts for emotes
  • Any of the effect modules
  • Any of the UI code
  • Lots of util modules

I understand there is probably some technical concern here. However, this tool has already made my life a whole lot easier, even with the limit and even without sourcemaps. I’d like to advocate for more prioritization on a higher script limit - that alone will allow me to utilize code analysis and linters on our entire codebase and help enforce the same patterns amongst our devs + prevent busywork.
Thank you to the engineers whom have gotten it this far and I look forward to more improvements.

7 Likes

Couldn’t agree more, higher script limit should be #1 priority for this feature as that’s my #1 bottleneck right now

2 Likes

In the same boat here, I’d also advocate for a much higher script limit!

4 Likes

Hi - thanks for keeping us honest on this. The upcoming ‘folder’ sync update allows thousands of descendant scripts in each synced folder to be synced. We still haven’t settled on exactly how many folders we will allow to be synced, but it should be greater than 64. More news here soon!

14 Likes

This sounds amazing. Any time frame that specifies when it will most likely release?

5 Likes

Great question!

We actually have a preview build of Folder Sync ready. We are going through some final tests to make sure it is 100% ready to be added to the existing Studio Beta.

If anyone here wants to give it a try, I have added every user who has posted in this topic to an opt-in beta channel for this. You can enable this directly from the User Settings page on the Roblox website.

Once you have done this, when you restart Studio it should prompt you to update. Once you are finished, you can un-enroll here and then restart Studio to update again. Make sure to enable the Studio Beta for Script Sync.

Because this is an in-development version - please backup your work and use it on a test project to get the hang of things before you roll it out for your game.

Once we are confident this is ready we will roll this update out, but if anyone wants to try it out in the meantime their feedback is appreciated!

9 Likes

It became from “Roblox wants you to build everything inside Roblox Studio” to “Roblox finally understand that they cannot do everything themself”

We could’ve seen this when they,

  • Made us able to create UGC Avatar Bodies/Layered Clothing [Blender]
  • Flex components on UIs [CSS Like]
  • Mesh/Image APIs
  • HTTP Secrets
  • DataStore API outside of Roblox
  • OpenCloud API for directly update games even without opening Studio

And now, Visual Studio Code.

I won’t be surprised when they add XML/CSS support for the UIs

2 Likes

I would like to be opt-in but, I do not have an access to my @Monotter account on Roblox anymore, I am using @Monotter0 for developing purposes, is it possible to manually give access to that?

Since I am experienced enough with Studio, I don’t usually read a lot on DevForum anymore, this makes me unavailable to get access to post here.

1 Like

Can I be added into the opt-in beta channel too? Thanks.

2 Likes