Roblox Studio guide

Track live or bake a camera path

Control the Studio camera from your phone over the local network, then export recorded movement for a camera path that can ship with a published experience.

WebSocket JSONStudio plugin

Choose live tracking or a baked path

Live tracking drives the edit viewport or local Play camera while Roblox Studio is open. It is best for previs, blocking, and recording a move.

Bake to Place imports a recorded take as keyframes. The resulting camera path ships with the place and no longer needs the phone, plugin, or network connection.

Live mode is Studio-only

Roblox permits the required WebSocket client in Studio, not in a published running experience. Use a baked path for camera animation that must work after publishing.

What you need

  • 6DoF Camera Tracker and Roblox Studio on the same local network.
  • The Camera Tracker Studio plugin installed locally or from its available distribution.
  • The phone's local IPv4 address, visible in Android network settings.
  • For baked paths, a recorded take and Pro access to Roblox JSON export.

Configure live tracking in the app

  1. Open Settings → Stream.
  2. Set Protocol to WebSocket (JSON).
  3. Keep the listen port at 9003, or note the custom port you choose.
  4. Use the Default axis-mapping preset unless the Studio scene requires a deliberate remap.
  5. Press Start stream. The phone hosts the server; Roblox Studio connects to it.
WebSocket JSON selected in the 6DoF Camera Tracker stream settings
For Roblox live tracking, select WebSocket JSON and note the listening port.

Connect the Studio plugin

  1. Install CameraWebSocketPlugin.lua in the Roblox Studio Plugins folder, or install the distributed plugin version.
  2. Restart Studio and open Plugins → Camera Tracker.
  3. Select Address and enter the phone IP, optionally followed by the port. For example: 192.168.0.110:9003.
  4. Select Tracking. The plugin connects to the phone and takes control of the Studio viewport camera.
  5. Press Zero pose in the app to establish the tracker's origin at the intended camera start.
Camera Tracker toolbar in Roblox Studio with Tracking, Address, and Import Path actions
The Studio toolbar provides Tracking, Address, and Import Path.
Roblox Studio Camera Tracker phone address dialog
Enter the phone address once; the plugin remembers it.

Use tracking in Play mode

Studio hides plugin toolbars while a game is running. Set the address and enable tracking in edit mode first, then enter Play. Press F8 to toggle tracking from the Play client.

When tracking starts in Play, the phone's origin is anchored at the local character's root. Pressing Zero in the app places the virtual camera at that anchor while preserving the phone's live movement and orientation.

Camera control is restored

When tracking stops or the connection drops, the plugin restores the previous camera mode and field of view. Restart Studio if an interrupted session ever leaves the viewport camera locked.

Bake a recorded take into the place

  1. Record a take in 6DoF Camera Tracker.
  2. Open the take's menu and choose Export Roblox Json.
  3. Transfer the JSON file to the computer.
  4. In Studio, open Plugins → Camera Tracker → Import Path and select the exported file.
  5. Review the created path and playback script, then save the place.
Roblox Studio dialog for importing a recorded camera path
Import Path converts the recorded phone movement into content stored with the place.

Troubleshooting

SymptomCheck
Connection error or repeated retryConfirm the phone is streaming, the IP and port are correct, and both devices use the same network.
Too many WebStream clientsWait for the plugin to retry; restart Studio if stale clients do not clear.
No toolbar during PlayThis is expected. Use F8 in the Play client.
Camera is stuck at world zeroRemove older camera-control scripts or RemoteEvents that may still be writing the camera.
FOV does not changeCalibrate zoom in the app so the WebSocket payload includes a physical field of view.
No depth of fieldCalibrate both focus and iris.