Studio Lite lets you build, script and publish games just like Roblox Studio, but simpler and mobile friendly! Experience: Studio Lite - Roblox Community: Studio Lite - Official Community - Roblox
This is a collection of Tips and solutions to Frequently Asked Questions:
1. Publishing - create an API-key :
To publish your Studio Lite game to your Roblox profile, there are a few one-time steps to create an API key. When you FILE, Save… your game, checkmark () the Publish checkbox, and Save. The “Help” button on the Publish screen will show these 11 steps.
If your game’s name and description don’t appear on your published game, you might have missed something in step 9 above.
2. Can't paste API key :
Pasting the API key works on mobile for most people. Some keyboard apps on mobile move your screen too far up to paste. If that happens, turn your screen the tall way to see and paste the key.
3. All Ages :
You can improve your published game’s visibility by completing Roblox’s Audience Questionnaire in the Creator Hub. On mobile tap More (. . .) then Create (</>), tap your game, then tap the “☰” and find Audience, Questionnaire. Based on your answers, you might get the “All Ages” rating so everyone can see it.
4. No Undo :
Be sure to save your work often (every 10 minutes) just in case of a power or internet failure, or something else bad happens. And save a backup copy to a second game position. Then only “Publish” when you have a good working version of your game.
5. Spawn any model from the Roblox catalog (store) :
You can spawn and position any model or mesh from create.roblox.com/store. Note this will error in Play mode, but works in the published game.
(1) Find the model you want at create.roblox.com/store and press “Get Model” to add it to your inventory.
(2) Copy the model’s asset_Id number from the store address bar between slashes (something like store/asset/123456/). If you only see “create.roblox. com” at the top of the screen, tap it to expand the it.
(3) Place this script in ServerScriptService with the asset you copied:
local a = game.InsertService:LoadAsset(123456) --replace with asset_Id.
a.Parent = workspace
a:PivotTo(CFrame.new(0,5,70) * CFrame.Angles(0,math.rad(90),0)) --First CFrame is position, second is rotation.
If the model is a skybox, you can extract it and parent it to Lighting like this (also in ServerScriptService):
game.InsertService:LoadAsset(4683026098):FindFirstChildOfClass("Sky").Parent=game.Lighting
If the model is a tool/weapon/gear, you can parent it to the players Backpack by putting the following script (not local) in StarterPlayer → StarterCharacterScripts:
game.InsertService:LoadAsset(ASSETNUMBER):FindFirstChildOfClass("Tool").Parent = game.Players:GetPlayerFromCharacter(script.Parent).Backpack
6. Make a walking NPC (R15):
Use the Rig Builder in Studio Lite’s Toolbox to build an NPC. Then checkmark “Zombie script”. This will add the standard animation and health scripts. Then in Explorer, find and delete the zNPC script, and insert a new script into the model:
local h = script.Parent:WaitForChild("Humanoid")
while true do
h.WalkToPoint = Vector3.new(20,0,10)
wait(3)
h.WalkToPoint = Vector3.new(-20,0,-10)
wait(3)
end
7. Animation :
To make all players walk like Zombies :
Replace the player’s animation with any animation codes shown at the end of this document: Use animations | Documentation - Roblox Creator Hub Put this Script (not local) in StarterCharacterScripts. Or put it in a Zombie model to make them walk Stylish (change the numbers according to the link above):
wait(1)
local animateScript = script.Parent:WaitForChild("Animate")
animateScript.run.RunAnim.AnimationId = "rbxassetid://616163682"
animateScript.walk.WalkAnim.AnimationId = "rbxassetid://616168032"
animateScript.idle.Animation1.AnimationId = "rbxassetid://616158929"
animateScript.idle.Animation2.AnimationId = "rbxassetid://616160636"
if animateScript.idle:FindFirstChild("Animation3") then
animateScript.idle.Animation3.AnimationId = "rbxassetid://885545458"
end
You can also change the default animation of NPCs. Use the Rig Builder in Studio Lite’s Toolbox, then paste any animations into its Humanoid.HumanoidDescription.
To make an NPC dance, use the Rig Builder and checkmark “Dance Script”, then you can edit the dance script to be any animationId on the Roblox store.
To find some animation ids, and to see sample scripts for playing animationIds on players and on NPCs, see Studio Lite’s FILE, Samples… Dance Club.
To pose an R15 NPC rig or make basic custom animations, use the joint motors C0 CFrames. Here is a sample that raises an NPC left arm. Place this script in the NPC model:
local LeftShoulder = script.Parent:WaitForChild("LeftUpperArm"):WaitForChild("LeftShoulder")
LeftShoulder.C0 = LeftShoulder.C0 * CFrame.Angles(math.rad(90),math.rad(20),0)
8. Output window of any published game :
You can see the Output window of any published game on Roblox by chatting “/console”. It’s a good way to check for script errors in a live game. Anyone can see Client messages, but only the creator can see Server messages.
9. Alt Keyboard :
A common problem can happen if you use the Alt Keyboard (your device’s keyboard instead of the small blue keyboard). Your device’s keyboard probably has autocorrect. That can cause problems for scripts. For example, if you want “local abc = game.Workspace” most autocorrects will insert a space after the period, or they might capitalize the first word in the sentence. Another easy mistake is in an “if” statement, if you want to compare something for equal, use ==.
10. Too many models :
If you reach the 4MB limit in your game, and you have many copies of the same model (like Zombies for example), then you can reduce your game storage size by having just one Zombie in Workspace and use this script in ServerScriptService to clone and reposition it multiple times when your game starts:
local z=workspace:WaitForChild("Zombie")
for i=1,20 do
local zz=z:Clone()
zz:PivotTo(CFrame.new(40,4,i*10))
zz.Parent=workspace
end
11. Badges :
Badges docs with sample scripts you can copy and paste: Badges | Documentation - Roblox Creator Hub
The Badge Service will cause an Error in the Studio Lite Play/test mode, but should work fine in your published game.
12. Gamepasses :
Gamepass docs with sample script you can copy and paste: Passes | Documentation - Roblox Creator Hub
Your Gamepasses will not be accessible while Play/testing in Studio Lite, but should work fine in your published game.
13. Welds :
To weld two parts together, first make sure the parts have unique names (like PartA and PartB). Then insert a WeldConstraint inside one of them. Next you need to set two properties of the weld constraint: Part0 and Part1. Tap the Part0 property value (the blank area), and in Explorer tap the first part you want included in the weld (PartA for example). Its name will show up in the weld constraint Part0 property. Then do the same with the Part1 property value and PartB.
14. HD Admin or similar scripts :
To get HD Admin in your published game (won’t work Play/testing in Studio Lite): First find it in the Roblox Store https://create.roblox.com/store/asset/857927023/HD-Admin
and tap “Get Model” to add it to your inventory. Then make a Script in ServerScriptService and paste:
game.InsertService:LoadAsset(857927023).Parent = workspace
15. Sample Cutscene :
Works in Play/test mode and Published. Paste this into a LocalScript in StarterCharacterScripts. Experiment with different target position and rotation numbers.
local cam=workspace.CurrentCamera
local ts=game:GetService("TweenService")
cam.CameraType=Enum.CameraType.Scriptable
local target=CFrame.new(70,50,0)*CFrame.fromOrientation(math.rad(-30),math.rad(90),math.rad(0))
local tween=ts:Create(cam,TweenInfo.new(3),{CFrame=target})
tween:Play()
tween.Completed:Wait()
cam.CameraType=Enum.CameraType.Custom
16. Morph :
Use the Rig Builder in Studio Lite’s Toolbox (use the dropdown menu to choose Rig Builder). Use one of the sample rigs, or enter a player’s name (not displayname, exclude @), or enter a bundleId (bundleIds can be found here: Catalog - Roblox ).
Dress up your Rig/NPC using the built-in Catalog Search button. Checkmark the box for Morph Prompt. That will add a ProximityPrompt and an editable script to the rig to allow players to morph.
17. Accessories :
Here is an example of how to add accessories to players, glasses in this case. You just need the accessory assetId. You don’t have to have it in your inventory. Works in Play/test mode and Published. Layered clothing requires a few more variables. More info here: Character appearance | Documentation - Roblox Creator Hub
------------------------------------------------------------------------------
--ProximityGiveGlassesScript - When a player walks near this script's --
-- parent part, they will be prompted to get/remove a glasses accessory.--
------------------------------------------------------------------------------
local pp = Instance.new("ProximityPrompt")
pp.ActionText = "Glasses On/Off"
pp.Parent = script.Parent
pp.Triggered:Connect(function(player)
if player and player.Character then
local h = player.Character:FindFirstChild("Humanoid")
if h then
local desc = h:GetAppliedDescription()
-- Multiple face accessory assets are allowed in a comma-separated string
local cnt = 0
desc.FaceAccessory, cnt = desc.FaceAccessory:gsub("2535420239","") --already equipped? remove it.
if cnt == 0 then
desc.FaceAccessory = desc.FaceAccessory .. ",2535420239" --not equipped? add it.
end
h:ApplyDescription(desc)
end
end
end)
18. Terrain :
We hope to add a terrain editor in the future. But, in the meantime, you can build terrain with script.
workspace.Terrain:Clear() --Clear terrain, then fill a position and size with a material.
workspace.Terrain:FillBlock(CFrame.new(0,0,20), Vector3.new(20,6,20), Enum.Material.Water)
workspace.Terrain:FillBlock(CFrame.new(20,0,20), Vector3.new(20,6,20), Enum.Material.Grass)
More info: Terrain | Documentation - Roblox Creator Hub
19. Game Settings - AllowThirdPartySales, AllowTeleport, Private Servers, Force R6 :
Now your Studio Lite game can have: AllowTeleport, AllowThirdPartySales, Allow VR devices, Allow Private Server (and set the price) and Morph all players to R6 with no script needed, and more. These Game Settings are typically only available in Roblox Studio. Now you can adjust these setting on your published experience; all from your mobile device.
Note: The AllowThirdPartySales property in Workspace is ignored by Roblox. Without using the game setting below, players cannot buy UGC made by others (only your assets and Roblox assets).
Step 1) Get your game’s “Experience ID” (also called UniverseId) - This step also confirms you are logged into Roblox on your default browser. Even if you know your UniverseId, you should confirm you’re logged in by tapping this link. https://create.roblox.com/dashboard/creations
Then tap the Experience you want to update. At the top of the screen, you will see something like: create.roblox. com/dashboard/creations/experiences/123456789/overview (if you only see “create.roblox. com” tap it to expand it). Copy the number between slashes. Its your UniverseId for that Experience.
Step 2) Tap Roblox’s Swagger Develop Api v2 website: Swagger UI
Step 3) Tap “UniverseSettings – PATCH” to expand the Parameters.
Step 4) Tap “Try It Out”.
Step 5) Paste your UniverseId from step one. Do NOT tap Execute yet. Clear out the “model”(body). Select it all and delete it. Then copy the Game Settings below including the braces {…} and paste it into the “model”(body).
{
"allowPrivateServers": true,
"privateServerPrice": 90,
"universeAvatarType": 3,
"playableDevices": [ 1, 2, 3, 4, 5 ],
"permissions": {
"IsThirdPartyTeleportAllowed": true,
"IsThirdPartyAssetAllowed": true,
"IsThirdPartyPurchaseAllowed": true
}
}
Legend:
“universeAvatarType”: 1 = R6, 2 = Player’s choice., 3 = R15
“playableDevices”: 1 = Computer, 2 = Phone, 3= Tablet, 4 = Console, 5 = VR
Note: Changing the Private Server Price can halt any previous Private Server subscriptions.
Make any changes you want and tap the “Cancel” button below the “model”(body) Game Settings. Be careful, a comma or capital letter in the wrong place and it won’t work.
Step 6) Confirm that the Cancel button colorized and accepted your changes. Then tap the blue “Execute” button.
Step 7) After you press “Execute”, below that you should see “Responses”, “Curl”, “Request URL”, “Server response, Code 200, Response body”. The “Response body” should show your new settings along with a few other values. That means SUCCESS! If you only see “Code 200 OK, Example Value” then something went wrong. Refresh the web page and try again.