Scenes
Switches to the selected scene with normal transition.
current_scene and previous_scene values. You can still type a scene name manually.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
| Scene Name | String | Scene name you want to switch to. Select from the menu or type manually. |
OBS WebSocket 5 Request: SetCurrentProgramScene
| Request Field | Type | Description |
|---|---|---|
| sceneName | String | The name of the scene to switch to. |
Temporarily changes the transition of a scene. Lasts until you use Remove Scene Transition command.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
| Scene Name | String | Transition scene name. Select from dropdown or input manually. |
| Transition Name | String | Name of the transition |
| Duration (ms) | Int | Duration of the transition in milliseconds |
OBS WebSocket 5 Request: SetSceneSceneTransitionOverride
| Request Field | Type | Description |
|---|---|---|
| sceneName | String | The name of the scene to set the transition for. |
| transitionName | String | Name of the transition to use for this scene. |
| transitionDuration | Number | Duration of the transition in milliseconds. |
Removes temporarily changed transition of a scene (from executing Change Scene Transition command).
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
| Scene Name | String | Scene name that has a temporary transition added to it. Select from dropdown or input manually. |
OBS WebSocket 5 Request: SetSceneSceneTransitionOverride
Sends SetSceneSceneTransitionOverride with an empty transitionName to remove the override and restore the global transition for the specified scene.
Change the current transition.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
| Transition | String | Desired transition name to change to |
OBS WebSocket 5 Request: SetCurrentSceneTransition
| Request Field | Type | Description |
|---|---|---|
| transitionName | String | Name of the transition to activate (e.g. Fade, Cut, Stinger). |
Changes the current settings of a transition. Same as going to your OBS and clicking on ‘Properties’ in your Scene Transitions.
Example: {"transition_match": "Fade","switch_percentage": 30,"easing_match": 2,"position_in": 10}
You can retrieve your current transition settings by executing a Send OBS Request command with the following JSON (OBSws 5):
{
"op": 6,
"d": {
"requestType": "GetCurrentSceneTransition"
}
}
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
| Transition Name | String | Name of the transition to modify |
| Settings (JSON) | JSON | JSON string containing the transition settings |
OBS WebSocket 5 Request: SetCurrentSceneTransitionSettings
| Request Field | Type | Description |
|---|---|---|
| transitionSettings | Object | Object containing the transition settings to apply. |
| overlay | Boolean (optional) | If true, merges settings with existing ones. If false, replaces all settings. Defaults to true. |
The available keys in transitionSettings depend on the selected transition type. Use Send OBS Request with GetCurrentSceneTransition to view current settings.
Changes the duration of a specified transition.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
| Transition | String | Name of the transition |
| Duration (ms) | Number | New duration in milliseconds |
OBS WebSocket 5 Request: SetCurrentSceneTransitionDuration
| Request Field | Type | Description |
|---|---|---|
| transitionDuration | Number | Duration of the transition in milliseconds (e.g. 300). |
Creates a new scene in OBS.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to (if using multiple OBS) |
| Scene Name | String | Unique name of the scene to create. |
OBS WebSocket 5 Request: CreateScene
| Request Field | Type | Description |
|---|---|---|
| sceneName | String | The unique name of the new scene. |
Gets the current OBS scene list and saves the scene names as an array.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to get the scene list from, if using multiple OBS connections. |
| Save Variable As | String | Variable name to save the scene name array. |
Example:
| OBS Scenes | Save Variable As | Saved Array |
|---|---|---|
| Starting, Gameplay, BRB, Ending | sceneList | [Starting, Gameplay, BRB, Ending] |
You can combine this command with Array Get Size, Array Get Value, or Repeat to loop through all OBS scenes.
OBS WebSocket 5 Request: GetSceneList
| Response Field | Type | Description |
|---|---|---|
| currentProgramSceneName | String | The name of the currently active scene. |
| currentPreviewSceneName | String | The name of the current preview scene (Studio Mode). |
| scenes | Array | Array of scene objects, each with sceneName and sceneIndex. |
SAMMI extracts the sceneName from each scene object and returns them as a plain string array.
Gets the name of the current Preview scene in OBS Studio Mode and saves it as a string variable.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to, if using multiple OBS connections. |
| Save Variable As | String | Variable name to save the preview scene name. |
Studio Mode must be enabled in OBS (View → Studio Mode) for this command to return a meaningful value. Use this to check what is currently staged in the Preview before triggering a transition.
Saved Value:
| Value | Type | Description |
|---|---|---|
| savedVariable | String | Name of the scene currently in the OBS Studio Mode Preview. |
| undefined | Undefined | Saved if OBS is not connected, ws5 is not in use, or Studio Mode is disabled. |
OBS WebSocket 5 Request: GetCurrentPreviewScene
No request fields.
| Response Field | Type | Description |
|---|---|---|
| currentPreviewSceneName | String | Name of the current Preview scene. Saved directly to your variable. |
Example SAMMI Response:
Gameplay
Sets the OBS Studio Mode Preview scene without affecting the active Program output.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to, if using multiple OBS connections. |
| Scene Name | String | Scene to load into the Preview. Supports Current Scene and Previous Scene aliases. |
Studio Mode must be enabled in OBS (View → Studio Mode). This command loads a scene into the Preview panel without changing what viewers currently see on stream. Use Activate Studio Mode Scene afterwards to trigger the transition and move the Preview to Program.
OBS WebSocket 5 Request: SetCurrentPreviewScene
| Request Field | Type | Description |
|---|---|---|
| sceneName | String | Name of the scene to set as the current Preview scene. |
Triggers the Studio Mode transition in OBS — moves the current Preview scene to the Program output.
| Box Name | Type | Description |
|---|---|---|
| OBS | Dropdown | OBS to send this command to, if using multiple OBS connections. |
Studio Mode must be enabled in OBS (View → Studio Mode). This is equivalent to pressing the Transition button in OBS Studio Mode — whatever scene is currently in the Preview will become the new Program output. The transition type and duration configured in OBS are used.
Use Set Studio Mode Scene first to control which scene gets transitioned, then call this command to execute the switch.
OBS WebSocket 5 Request: TriggerStudioModeTransition
No request fields — executes the transition immediately using the active OBS transition settings.