Coming from Roblox Studio? What carries over to Newly - Newly guides

If you already script in Luau, you can skip most of the learning curve. A quick rundown of what works as you'd expect and the handful of things that don't.

By Alem.

A lot of people who try Newly have built things in Studio before, and the first question is usually "how much do I have to relearn?" Not a lot. The language is the same, and most of the everyday API is too. What changes is mostly how your game reaches players: a link that opens in any browser, on a laptop or a phone.

Things that work like you'd expect

game:GetService, workspace, script.Parent, Instance.new, Parts, Models and Folders all behave the way you're used to. So do Vector3, CFrame, Color3 and BrickColor, plus task.wait, task.spawn and Heartbeat.

TweenService and UserInputService are there. So is DataStoreService, with GetAsync, SetAsync, UpdateAsync and ordered stores for leaderboards. A leaderstats folder full of IntValues works the same way. ProximityPrompt, BillboardGui, ScreenGui, ModuleScript with require, and LocalScript are all supported.

Honestly, the fastest way to find out is to paste in a script you already have and see what complains. In the Code room, New script puts one on whatever you've selected.

Things that are different

Touched gives you the player

You don't have to walk from a body part up to the character and then over to the player. The thing that touched your part is the player:

part.Touched:Connect(function(other)
  if not other:IsA("Player") then return end
  local humanoid = other:FindFirstChild("Humanoid")
end)

It's a small change, but it's the one that trips people up first.

Networking goes through Net

There's no folder of RemoteEvents to set up. Scripts talk to each other with Net:FireServer, Net:FireAllClients, Net:FireClient and Net:OnEvent. Server lists and matchmaking are in MultiplayerService.

Payments use Newly Credits

For tips and donations, MarketplaceService:PromptCreditSendAsync lets a player send credits to someone. For selling things, ShopService gives you an in-world store.

Animations are by name

Humanoid:PlayAnimation("Wave"). No asset IDs.

It's not only Luau

You can write 2D games in C# today, and more languages are on the way. If you've got a friend who only knows Unity, they can build alongside you.

Bringing a project over

Block out the map again in an Empty world. It usually goes faster than you'd think. Then paste your scripts in and fix the three usual suspects: touch handling, remotes and purchases. Play it, test it in a new tab, and publish. Your game gets its own page and a link people can open straight away.

Open on Newly