We’re launching more improvements to AI-assisted development in Studio: three new Studio APIs for testing and automation, along with Skills, which teach Assistant how to use these APIs in specific workflows.
Together, these give you two ways to test and analyze your experience: drive things yourself from plugins or your build pipelines using the new APIs, or have Assistant pick the right tools for the job. Both paths use the same APIs.
New Studio Testing APIs
Whether you want to build your own plugins and CI tooling or have Assistant drive testing for you, these are the underlying APIs:
-
StudioDeviceSimulatorService— scriptable device simulation. Browse presets, switch devices, override resolution and DPI, control orientation and scaling, and create custom device profiles that persist to disk. -
StudioTestService— programmatic multiplayer testing. Start a server with multiple clients, add players mid-session, pass arguments in, end tests from the server, and trigger client disconnects. Supports up to 8 simulated clients per session. -
VirtualInput— simulated mouse, keyboard, and pointer events that are processed exactly like real hardware input. Drive your game through its UI, exercise real input paths in regression tests, or combine it with the multiplayer and device simulator APIs for richer automated testing. This is also what powers Assistant’s playtesting agent and the keyboard_input / mouse_input MCP tools.
Workflows These APIs Unlock
- Cross-device multiplayer testing: cycle through device profiles, launch a multiplayer test at each, and collect pass/fail results.
- Player join/leave stress testing: start a session, stagger joins, and trigger disconnects to verify cleanup and reconnection logic.
- Orientation regression testing: loop through
Portrait/LandscapeLeft/LandscapeRightand run a play-mode test at each orientation to catch layout regressions. - UI flow automation: drive your game’s menus end-to-end with simulated clicks, text input, and key presses from a plugin-driven test harness.
Examples for Each API
Switch the active simulated device and lock orientation:
local Simulator = game:GetService("StudioDeviceSimulatorService")
local devices = Simulator:GetDeviceListAsync()
Simulator:SetDeviceAsync(devices[1])
Simulator:SetOrientationAsync(Enum.ScreenOrientation.LandscapeLeft)
Launch a 4-player multiplayer test from a plugin and read the result the server reports back:
-- Plugin Script
local StudioTestService = game:GetService("StudioTestService")
local result = StudioTestService:ExecuteMultiplayerTestAsync(4, { testName = "LobbySpawnTest" })
print("Test result:", result)
Click a TextBox and type into it from a plugin:
local VirtualInput = game:GetService("UserInputService"):CreateVirtualInput()
VirtualInput:SendMouseButton(Vector2.new(400, 200), Enum.UserInputType.MouseButton1, true)
VirtualInput:SendMouseButton(Vector2.new(400, 200), Enum.UserInputType.MouseButton1, false)
VirtualInput:SendTextInput("Hello, world!")
Full method lists, the DeviceConfiguration schema, context rules, error models, and validation limits live in the API reference for each service.
Studio Assistant Improvements
To take advantage of these new APIs, Assistant needs focused expertise in the specific workflows they unlock. We’ve packaged that expertise into Skills: focused guides that teach Assistant how to handle a workflow end-to-end. Three Skills ship today:
- Device Simulation: Drives
StudioDeviceSimulatorServicefor cross-device and orientation testing. Assistant discovers device IDs, switches the simulator, and sets orientation on its own. By bringing your own API key into Assistant or using the MCP Server, screenshots are unlocked, so Assistant can visually validate orientations and layouts rather than running through them blind.- Try: “Test my main menu on a small phone in portrait.”
- Scene Analysis: Drives
SceneAnalysisServiceto diagnose rendering performance, memory usage, and instance health. Surfaces hotspots in your geometry with camera sweeps and frustum audits against triangle and draw call targets, traces script Luau heap usage and animation/audio asset memory with owner tracing, and finds leaked unparented instances back to the host script.- Try: “Check my game’s performance and tell me what’s most expensive.”
- Requires the Scene Analysis beta to be enabled under File > Beta Features.
- Docs Search: Teaches Assistant how to navigate Roblox’s API documentation efficiently. Assistant pulls in the right service, class, or method reference on demand whenever it needs additional context for your request, so you get more accurate code suggestions and references.
When your request matches one of these workflows, Assistant will automatically apply the relevant Skill.
What’s Next
We’ll keep building out both halves of this story over the coming months.
Today’s Skills are Roblox-authored and built into Assistant, but you’ll soon be able to author your own Skills and override the ones we ship, so you can capture reusable workflows that fit your team’s testing patterns, project conventions, or any other repeatable thing you’d rather not re-explain to Assistant every time. We’ll share more on this soon.
On the API side, we’re continuing to build out Scene Analysis tooling, APIs for interacting with the debugger, and APIs for controlling and accessing data from the MicroProfiler.
Please let us know if you run into any issues or have suggestions for new skills or APIs you’d find useful.
Happy testing!
The Roblox Studio Team


