Luau in Studio beta!

Hi, everyone. In addition to all of the typechecking work that’s currently in beta, we’ve been hard at work on the other side of Luau, which is the faster runtime. The runtime is already used everywhere except in Studio debugging sessions, and we’ve recently released a beta feature called “Enable faster Lua runtime” which turns it on in Studio as well.

Please try it out and tell us what you think. Ideally, the only thing you might notice is an improvement in runtime performance when debugging. This is because the new debugger uses a much more performant method of tracing and setting breakpoints than the old one.

If you’re interested, we now have an explicit breakpoint instruction that gets inserted at the right place in the bytecode, whereas stock Lua relies on a per-line callback that has a lot of overhead. In general running Lua under the debugger with the new VM should perform very similarly to running without debugging, whereas before there was a large difference.

If you have questions, please post them here!


Will there be any changes that might break exisiting scripts or or no?


Roblox has stated that any changes to Lua should have full backwards compatibility, meaning there shouldn’t be any scripts breaking. If there are any issues with it, just be sure to report it!


image is erroring out but the scripts containing seem to work in game

Where should we report it?

Really glad this is now in beta. I could notice the difference between studio debug sessions and in game performance when doing crazy scripting experiments.

As with all issues, you should make a bug report. This would go into Engine Bugs.

1 Like

Does this affect Studio script performance even if I never use the debugger? I’m too attached to my print statements :flushed:


Studio script performance should be better than before because the new VM instruction dispatch is a lot better. Separately, debugging performance should now be on par with runtime performance, whereas before debugging was a lot slower because it required us to enable the linehook mechanism inside the VM.


image is erroring out but the scripts containing seem to work in game

What do you mean erroring out? Is this a problem in the debugger or at runtime?


You forgot to add an extra “)”. It should be “PlayScreen:TweenPosition(,0,0,0))”, not “PlayScreen:TweenPosition(,0,0,0)”


hmm, that appears to be the issue but surely that raises a seperate issue; Why is it running that line successfully?


Sorry if this is a dumb question (not a scripter).
Does the virtual machine affect in-game performance or just in Studio Testing Mode.

1 Like

Is there a rough approximation of when this will be able to be used in live games?

1 Like

Nope, they just forgot to add an extra “)” at the end

No it’s actually a bug


Yes, this is a known issue with typechecking which will be fixed in the near future. It’s not related (directly) to the higher-performance Studio virtual machine.


didn’t do that before for some reason, But they have also seemed to fix it so you dont have to add that extra “)” image|449x18

Yeah, but it looks all fixed as i just checked.

1 Like