Resource icon

Advanced Scene Switcher 1.23.1

Supported Bit Versions
  1. 64-bit
Source Code URL
Minimum OBS Studio Version
Supported Platforms
  1. Windows
  2. Mac OS X
  3. Linux
This plugin will allow you to automate various tasks using "Macros".
Macros consist of a list of conditions under which a list of actions will be performed.


Examples and guides can be found in the wiki.
Feel free to contribute!

Currently supported condition types are:
Currently supported action types are:
  • Audio
  • File
  • Filter
  • Http
  • Hotkey
  • MIDI
  • Macro
  • Media
  • Open Sound Control
  • Plugin state
  • Profile
  • Projector
  • Random
  • Recording
  • Replay buffer
  • Run
  • Scene collection
  • Scene item lock
  • Scene item order
  • Scene item transform
  • Scene item visibility
  • Screenshot
  • Sequence
  • Source
  • Streaming
  • Studio mode
  • Switch scene
  • System tray notification
  • Timer
  • Transition
  • Variable
  • Virtual camera
  • Wait
  • Websocket

Select "Go to download" for download and not "Source Code URL".

Please have a quick look at the FAQ in case you are having an issue.

Settings configuration example:
Below is a short description on how to set up an automated scene switch if the output of a video source has not changed for a specified duration.

I assume the plugin is installed so let's open the settings.
To do so go Tools -> Advanced Scene Switcher.

You will end up on the "General" tab of the plugin.
Here we can make sure that the plugin is running by clicking the "Start" button if necessary.


Next we switch to the Macro tab to set up our automated scene switch. (1)
Here we add a new macro by clicking the plus symbol on the lower left (2) and enter a name for our new macro.


Now we have to add the condition we want to trigger the automated scene switch by clicking the corresponding plus symbol (1) and selecting the type of the condition we want to use (2).
As we want use video based scene switching we select the type "Video".


The next step is to configure the settings of this condition.
We select the video source we want to monitor (1) and the type of monitoring we want to take place (2).
For this particular use case we choose "hos not changed".
Finally we add the time constraint by pressing the small clock icon (3).


For the time constraint we specify the type of constraint (1) we want to choose and specify the duration (2).
In this case we select "For at least" and "3 seconds".


As a last step we have to specify the action that has to be performed if the condition we specified above is true.
To do this we have to add a new action to our macro by pressing the plus button in the lower middle of the macro tab.


The default action that is chose is already our desired one - "Switch scene" - so we do not have to adjust the type of the action.
However we have to select the scene we want to switch to (1) the transition type we want to use (2) and the duration of the transition (3).
(The duration can be left at "0" to use whatever is configured as the current transition duration)


Now everything should be set up and the scene should be switch accordingly.

Installing the plugin:
Recommended: Run the provided installer. (You might have to click 'More info' and select 'Run anyway' if it is blocked by Windows)

Alternatively manually copy the 'obs-plugins' and 'data' folders in the respective OBS Studio installation directory.
It is usually located at 'C:\Program Files\obs-studio'.
Install the Visual C++ Redistributable for Visual Studio 2019, if you have not done so already.
64bit: vc_redist.x64.exe
32:bit: vc_redist.x86.exe
Recommended: Run the provided installer. (You might have to right click and select 'open' if it is blocked)

Alternatively manually install the the plugin files to ~/Library/Application\ Support/obs-studio/plugins/advanced-scene-switcher.plugin.

It might also be necessary (if MacOS decided to be annoying) to remove the plugin from the quarantine.
To do this follow these steps:
  1. Open the Terminal application
  2. Run the command: xattr -r -d ~/Library/Application\ Support/obs-studio/plugins/advanced-scene-switcher.plugin
Thanks djSmileyMike for your help!
Note that the plugin has dependencies to:
* libXss
* libXtst
* libcurl
* libopencv-imgproc
* libopencv-objdetect

If you are using snap you can install the following package for an OBS installation which comes bundled with the plugin:
sudo snap install obs-studio

The plugin is also available via the Flatpak package manager for users who installed OBS via Flatpak:
flatpak install com.obsproject.Studio.Plugin.SceneSwitcher

If you have installed OBS via other means, it is most likely necessary to install the plugin manually.
To do so copy the file and into the OBS Studio plugin folder.
The location of this folder can vary, so you might have to look around a bit.

Examples are ...

Unfortunately the expected location of the locale, which can be found in the data folder, can vary also.
The data folder, usually should be copied to:

If this does not work you can try to copy the "locale" folder found inside the data folder to:

In doubt, please check where other "en-US.ini" files are located on your system.

When manually installing the prebuilt artifacts from GitHub please keep in mind that they are built for Qt6.
If your OBS installation is still linking against Qt5 and you install a plugin depending on Qt6 OBS might crash.
Manually compiling the plugin for Qt5 is possible still if it should be required.

Additional Information and Notes:
If you want to build the plug-in yourself the source is available here.

Please report any problems you experience using this plug-in here, on GitHub or send me a direct message.
First release
Last update
4.60 star(s) 70 ratings

More resources from Warmuptill

Latest updates

  1. Advanced Scene Switcher 1.23.1

    Important notes: Please make sure to back up your settings as there are quite a lot of changes...
  2. Advanced Scene Switcher 1.23.0

    Important notes: Please make sure to back up your settings as there are quite a lot of changes...
  3. Bug fix and locale update

    Updated Chinese locale. (provided by qwe1154323937) Fixed function priorities not being saved.

Latest reviews

Loved the plugin as it was before I needed a tweak. I asked.. at first, the tweak wasn't an option, but just like magic he implemented what I needed and I updated, setup and it worked first time.

Thank you for your great plugin.
@Warmuptill, I can't live without this plugin! You're updates just keep improving! For that I am grateful! Thank you!

Has there been consideration with Macro's to be able to setup a case select or an IF, Than, Else scenario? I keep finding myself wanting 1 macro with multiple conditions and associated actions for a condition. This would cut down on the need for multiple macros to accomplish the same.

Thanks again!
Glad to hear you enjoy the plugin! :)

>Has there been consideration with Macro's to be able to setup a case select or an IF, Than, Else scenario?
It was requested a few times, but I simply did not get around to it yet.
When I find the time, I will to look into it, but I can't give you any promises / timelines.
without this plugin, obs is a nothing.
Basically Tasker/AHK of OBS. Automation on quite high level.
The swiss army knife of automatic/logic flows in OBS, every second time someone wants to solve a specific problem and asks for a solution on the OBS Discord, it's this plugin which is suggested to them. A real must-have.
Es el mejor complemento de obs, no imagino obs sin este complemento sinceramente te hace la vida muchísimo más fácil y por otra parte es super adictivo. El programador siempre predispuesto a ayudarte lo que lo hace aún mejor todavía. Felicitaciones. Un trabajo asombroso
To simply call this plugin by its name, "Advanced Scene Switcher", doesn't do this piece of software nearly the justice it seriously deserves. It isn't JUST about changing scenes. It's about automation taken to the next level. The addition of Websockets support takes it to the next level, whether controlling it with a device like an Elgato Stream Deck or SAMMI or even from another OBS Studio instance on the same or even completely different computer, even from THAT OBS Studio's installation of Advanced Scene Switcher!

I don't think I use even the merest fraction of this software's capabilities, but I feel this plugin is a serious "must-have" if the user wants or needs any manner of automation, whether confined to the same computer or, in my case, a highly-distributed model.
I can't imagine working in obs without this plugin! It makes everything 1000x easier, Thank you so much for your work on this!
excelent version warmuptill
good plugin I am fascinated with this version Warmuptill