Almost 5 years ago, we released the first automatic scene switcher for Streamlabs OBS. Since then, we have received a lot of feedback and requests. Most of the comments asked for 2 things: support for MacOS and support for OBS Studio. We also wanted to combine the automatic scene switcher with the time-controlled scene switcher. We have followed these suggestions and can now, with extreme delay, present the new edition of our scene changer.
Caution: The scene changer is currently still at an early stage of development. It is therefore possible that errors may occur (especially when used without the streaming software open). It should therefore only be used in productive operation after prior testing of the usual scenarios.
Content
The technology
To ensure Mac compatibility, the new scene changer was developed in the .NET MAUI framework. This allows us to publish both the Windows and Mac app with a uniform code base. Since OBS Studio (from version 28) already has the websocket extension on board, we have decided to use the websocket connection for Streamlabs Desktop in future and to retire the „old“ named pipes method. This minimally increases the configuration effort due to the need for connection data, but also enables cross-device control for separate gaming and streaming PCs, for example.
The surface & configuration
A menu with 3 options greets us at the start
- Application Switching: This menu item takes you to the „normal“, rule-based scene changer.
- Timer Switching: The time-controlled scene changer is located here.
- Settings: The Settings menu contains the configuration menus for the connection to the streaming software and for configuring the corresponding rules and scenes.
The connection settings

By using the websocket protocol, the new app requires a little more information to connect to the streaming software. In the Connection type field, we specify our streaming software – OBS Studio and Streamlabs Desktop are currently supported here. In the Hostname / IP field, we need the IP address of the PC on which the streaming software is running. If this is the same computer on which the scene changer is running, you can also enter „localhost“. Caution: If you have separate gaming and streaming PCs, you may need to release the port for the web socket server on the streaming computer so that the scene changer can also reach the software. For the correct values in Port, Authentication Enabled and Token / Password, we need to take a look at the respective settings of our streaming software.
OBS Studio Websocket v5
In OBS Studio, the websocket server settings can be found in the menu bar under Tools / Websocket server settings. It is important that Enable Websocket Server is checked. With a click on Display connection information, OBS shows us the set port and the password, which we enter in the Token / Password field

Streamlabs Websocket
The Streamlabs websocket interface is already activated by default. The access data for the interface can be found in the Streamlabs settings under Remote control. Here we also find the port & token information. With Streamlabs, authentication is always activated, so we must always check the box in the scene changer and enter the token.

Click on Validate & Save to save the configuration. The connection data is now checked. The streaming software must remain open for this. If the configuration has been entered correctly, we will receive a success message.</p
Application switcher settings
In the application settings area, we define the rules for the application-controlled scene switcher
.

The global settings are located at the top of the page. Here there is only one setting for the interval for how often the scene changer should check for changed applications. A value between 500 and 2000ms works best in practice.</p
The list with the created scene rules is located in the lower area. By clicking on + we can create a new rule, clicking on – deletes the selected rule. We can use the arrows to change the prioritization of the rules. The entry at the top is checked first when the application is running, so this is our „most important“ scene. The default scene without program reference should therefore be at the bottom.
- Scene: The scene in Streamlabs / OBS that belongs to this setting. To set this setting correctly, the streaming software must be open and configured correctly in the connection settings.</li
- Process name: The name of the process belonging to this scene. If the setting Use window title is set, we must enter the title of the window instead of the process name.
- Switching delay (ms): A delay before switching to this scene (in milliseconds). Ideal for applications that only display something after a few seconds at startup (love to the PUBG client!).
- Needs focus: With this setting, the rule only applies if the window is also in the foreground and is currently active.
- Use window title: Instead of the process name, this rule uses the window name. This is relevant for applications whose execution process and interface are different (Windows calculator, for example).</li
The changes are displayed live in the rule list, but are only finally saved when you click on Save.
Timer switcher settings
In the timer settings area, we define the configuration for the time-controlled scene change.

In the upper area of the timer settings, we find the global settings of the profile. These settings apply across all scenes that we activate in the timer.
- Polling interval (ms): The default display duration of each scene.
- Random: The order of the scenes is random
In the lower area, we define the settings for each individual scene. Click on + to create a new scene. Clicking on – deletes the selected scene and, as with the application switcher, we can move the scenes using the arrows.
- Scene: The scene in Streamlabs / OBS that belongs to this setting. To set this setting correctly, the streaming software must be open and correctly configured in the scene changer.</li
- Duration Override (ms): The scene-dependent deviation of the duration. The value is added to the interval defined above. Example: With a global interval of 3000 and a duration offset of 2000, the scene is displayed for 5 seconds. The global duration can be reduced with a negative value.</li
To finally save the changes, we need to click on Save.
The actual application
Both the application switcher and the timer switcher have only one button: Start and Stop.

With a click on Start, the application is active and also shows us a small log of the last changes below the button. If we ever need to manually switch to another scene that is not part of our settings, we can do this directly via OBS (or a stream deck, etc.). The switcher then automatically pauses the change and only resumes as soon as we select a scene again that is stored in our configuration.

Download
The source code of the Scene Switcher is published on Github. The latest version of the tool can be downloaded in the releases section. If you find any bugs, you can also report them directly on Github (or in the upcoming YouTube video in the comments).