title | description |
---|---|
Studio Testing Modes |
Explore the built-in Studio testing modes for experiences. |
Because of the underlying client-server model of the Roblox engine, it's important that you test your experience in various modes before releasing it to the public. All of the testing options are accessible from the Test tab.
There are three common options for playtesting an experience. Clicking the small arrow below the main button lets you choose from each option, and sets that option as the default.
Action | Shortcut | Description |
---|---|---|
**Play** | F5 | Starts simulating the experience, inserting your avatar at either a `Class.SpawnLocation` or coordinates of around (0, 100, 0). |
**Play Here** | Starts simulating the experience, inserting your avatar in front of the camera's current position. | |
**Run** | F8 | Starts simulating the experience but does not insert your avatar. The simulation begins at the current camera position and you can navigate around using the Studio camera controls. |
When testing in either Play or Play Here mode, Studio runs two separate simulations — one client simulation and one server simulation — which can provide a more accurate impression of how the experience will execute in production.
While playing solo, you can toggle between Client and Server modes by clicking the Client/Server toggle button. When you toggle, the button changes to reflect the current simulation mode.
Depending on the mode, control of your character and the camera changes as follows:
In **Client** mode, the 3D viewport is surrounded by a **blue** border and the simulation uses your character controls and camera setup. This testing mode is a close simulation of the experience running on the Roblox application, without multiple players. In **Server** mode, the 3D viewport is surrounded by a **green** border and your character is inserted but is not under your control. You can move about the place with a free‑floating camera, select objects, and inspect their properties.Within the Explorer window hierarchy, certain objects only exist in their expected containers.
In **Client** mode, the expected client-side objects are present in the hierarchy, including those copied over from `Class.StarterPack` to the player's `Class.Backpack` and from `Class.StarterPlayer` into the player's `Class.PlayerScripts`. In **Server** mode, the expected server-side objects are present in the hierarchy, including scripts in `Class.ServerScriptService` and objects you placed in `Class.ServerStorage`.In the Output window, messages are labeled blue (client) or green (server), indicating their origin from either the client or server. For messages output from Class.ModuleScript|ModuleScripts
, the label color is determined by whether the module was called from a client-side Class.LocalScript
or from a server-side Class.Script
.
Using the Clients and Servers options, you can launch multiple sessions of Studio, one acting as the server and each other acting as a client. This testing mode is a valuable tool for comparing how a client "sees" other clients within the experience.
-
Make sure Local Server is selected in the upper box, then select the number of player sessions to test. Usually 1–2 players is sufficient, although you can simulate up to eight.
-
Press the Start button to begin the client-server simulation.
-
When you're finished testing, press the Cleanup button from any of the simulation sessions to close all simulated clients and the simulated server.
The Device emulator lets you emulate various devices directly in Studio, providing insight on how controls operate on a mobile device or how on-screen UI displays on different screens and aspect ratios.
In emulation mode, you can select devices from the Device Selector dropdown menu above the 3D viewport to emulate less powerful devices and test streaming-enabled experiences where 3D content dynamically loads/unloads based on available memory. You can also adjust the view size and change the device orientation between landscape and portrait modes.
For detailed emulation of experience localization and content policies, you can test through the Player emulator.
-
Click the Player button to open the emulator window.
-
Toggle on Enable Test Profile in the window. Emulation will remain as toggled (enabled or disabled) even if you close the window.
-
Lower down in the window, the following options are available:
- Locale lets you emulate a localized language while playtesting.
- Region lets you emulate a player's country/region while playtesting; this selection may impact other toggles and checkboxes in the window as outlined in
Class.PolicyService:GetPolicyInfoForPlayerAsync()|GetPolicyInfoForPlayerAsync()
.
-
Start playtesting in either Play or Play Here mode to test the chosen settings.
If you're working on an experience with others in Collaboration mode, you can test with other creators as follows:
-
In the Clients and Servers section, select Team Test in the upper box and press the Start button to publish the current state of the experience and create a new Studio session with your character inserted.
-
Other collaborators can then join by pressing Join from the Test tab.
Only one team test session can run at any given time. To close a session and kick out all testers, click the **Shutdown Server** button.
If you'd like to support Virtual Reality (VR) headsets for your experience, make sure to test in VR in Studio. Studio supports testing for all VR headsets that are compatible with OpenXR, the open-source industry standard providing access to VR.
Currently, Testing in VR is only supported on Windows.To enable Studio testing in VR, you must first connect your headset to your PC and configure the OpenXR runtime before launching on Studio. If you've already launched Studio, quit and complete the configuration steps first.
If you only have one VR headset, installing the corresponding VR app automatically configures the runtime for you. If you have multiple headsets, you need to set up the runtime manually and make sure to only configure the one that you want to use for testing.
The following steps are for the two most common VR apps:
- SteamVR for headsets such as HTC Vive and Valve Index.
- Oculus for headsets such as Meta Quest and Oculus Rift.
- Install and open the SteamVR app on your computer.
- Under SteamVR Settings, select the Developer tab, then select Show Advanced Settings.
- Set SteamVR as OpenXR runtime.
- Turn the controllers on by pressing the System button until you hear a beeping sound.
- To turn the controller off, press and hold the System button until you hear the same beeping sound.
If you follow the steps correctly, the status icons on the SteamVR app and the status lights on the hardware should all be green, indicating that the configuration is completed.
When you quit the SteamVR app, the controllers automatically turn off. The controllers also automatically turn off after being idle for a period of time.- Install and open the Oculus App on your computer.
- Confirm that your device is connected and the status is ready.
- Under Settings / General in the Oculus App, select OpenXR Runtime.
- (Optional) Bring up the Devices tab and find your headset to confirm the configuration by checking if the status is green without errors.
You can test your experience in the Roblox app on Quest without linking your headset to your computer. Use the following steps to access your experience on your headset in this mode:
- In Studio, publish the experience and set the experience to private.
- Using your Creator Dashboard or the link in Studio, open the experience page in your web browser.
- On the experience page, add the experience to your favorites by clicking the Favorite icon.
- Using your headset, open the standalone Roblox app.
- Scroll down to the Favorites section in the home page and run your experience.
After configuring your headset, you can turn on the Studio VR testing mode through the following steps:
- In the File menu, select Studio Settings.
- Select Rendering.
- Under General settings, turn on VR Mode.
You can now test your experience using your VR headset using any of the available playtest options. During a VR testing session, if your headset cable disconnects, or you close the Roblox Studio Beta app on the headset, you need to restart Studio to re-run testing.