> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://support.xsplit.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Extensions Menu

Extensions are small programs that add features and expands XSplit Broadcaster’s capabilities.

You’ll be able to access them via **Extensions** menu on XSplit Broadcaster.

![Extensions Menu overview in XBC](https://cdn4.xsplit.com/helpdesk/images/i/o/379615441/d3fcea1c3dcf1b79ff9b1f37/Extensions-01.png)

If any of the extensions listed here do not appear under the **Extensions** menu, go to **Add Extension,** then **Find more extensions** to launch the Plugin Store.

![Extensions > Add extension > find more extensions highlighted](https://cdn4.xsplit.com/helpdesk/images/i/o/379615531/717a3f7e4d78a4bc62928772/Extensions-02.png)

* [ **Macros** ](#2-macros)
* [ **Per Scene Audio** ](#2-per-scene-audio)
* [ **Presentation Packager** ](#2-presentation-packager)
* [ **OBS Scene Importer** ](#2-obs-scene-importer)

---

## Macros

The Macros extension allows you to automate actions for your presentation – such as scene switching or showing/hiding sources through a keypress and even starting your broadcast or recording during a set time.

${youtube}[](lVcdioQGwcM)

You’ll be able to access it by going to **Extensions** then selecting **Macros**.

---

### Creating Macros

1.  Click the **Add** icon to create a new macro.

![Add icon highlighted in XBC's Macros extension main window](https://cdn4.xsplit.com/helpdesk/images/i/o/371220822/9260e8b5c45f30fac8c2e886/Macros-02.png)

2. You can rename your macros by clicking the **Pencil** icon.

![Highlighting the edit button to edit your Macro's name](https://cdn4.xsplit.com/helpdesk/images/i/o/371221059/8711b749abde0aaf3cd9acfc/Macros-03.png)

3. Select the **Event** that will trigger the macro from the drop-down menu. Additional drop-down menus will appear depending on your selected event.

![Selecting ](https://cdn4.xsplit.com/helpdesk/images/i/o/371221141/6abcaee2d907d5e436fbb217/Macros-04.png)

4. Select an **Action** to perform from the drop-down menu. Additional drop-down menus will appear depending on your selected action. 

![Selecting ](https://cdn4.xsplit.com/helpdesk/images/i/o/371222328/12f241e197b8d3234dcf84b4/Macros-05.png)

5. Clicking**Add Action** or **Add Condition** will add another action or condition to the macro that will run after the previous one. 

![Showing the option to add another action or condition in your macro](https://cdn4.xsplit.com/helpdesk/images/i/o/371222935/13188cd540682a0c56bb52ac/Macros-06.png)

6. Once you’re done, click **Enable Event Listener**. This will make the extension continuously check if the event conditions are satisfied then execute the actions sequentially.

![Enable event listener checked in your First Macro](https://cdn4.xsplit.com/helpdesk/images/i/o/371223084/ffcbceed695e578938d4e7da/Macros-07.png)

| If your Event is set to **On key press**, we recommend disabling the event listener first before changing the hotkey assigned since it will automatically run the macro while changing it.

| You can also swap the order of actions by dragging the label on top of another one.

  
For examples of how you can use macros, visit this blog post:  

[How to use Macros in XSplit Broadcaster](https://www.xsplit.com/blog/how-to-use-macros-in-xsplit-broadcaster)

---

### Events

**On key press**

Triggers the macro when the key or mouse click combination set is pressed similar to Hotkeys.

**Every interval**

Triggers the macro at every time interval set in milliseconds.

**On scheduled time**

Triggers the macro at the set hour.

**On scene switch**

Triggers the macro when the selected scene becomes active.

**When a stream source goes online/offline**

Triggers the macro when the selected stream source in a scene goes online or offline. Works with RTMP, RTSP and NDI stream sources.

**When a media source stops**

Triggers the macro when a specific media source stops.

**Custom Script**

See the Custom Script section below.

---

###  Actions

**Wait**

Waits for a time interval before going to the next action.

**Start/stop broadcast**

Starts or stops one of your streaming outputs, Local Streaming or Local Recording.

**Switch to scene**

Switches to a specific scene in your presentation.

**Set scene transition**

Sets a specific scene’s transition. Also supports [Stingers](/support/broadcaster/user-guides/scene-transitions#2-stinger-transitions).

**Set source visibility**

Shows, hides or toggles the visibility of a specific source from a chosen scene. Note that source transitions are also triggered when a source is shown or hidden.

**Set media source playback state**

Plays, pauses or stops a specific media source. Works on both video and audio media sources.

**Set source audio state**

Mute or unmute a source’s audio output.

**Run macro**

Runs a different macro.

**Stop macro**

Stops a different macro.

**Enable/Disable macro listener**

Enable or disable another macro’s event listener.

**Go to action**

Go to another action in the same macro. Currently does not work with all available actions.

**Custom Script**

See Custom Script section below.

---

### Custom Scripts

![Custom Scripts sample for Macros](https://cdn4.xsplit.com/helpdesk/images/i/o/371225827/69ef8e3aa511e52af0de23bb/Macros-08.png)

The **Custom Script** functionality for the Macros extension are still being changed and improved so documentation and guidelines for them are a work in progress. For now, you can experiment on modifying existing events and actions by clicking the to copy their scripts to the clipboard and pasting them to a custom script action.  

---

## Per Scene Audio

This extension allows you to create scene-specific audio profiles for your presentation. You can adjust the microphone and system audio level for each scene.  
  
${youtube}[Extensions](h6EvGjrVzKA)

You’ll be able to access it by going to **Extensions** then selecting **Per Scene Audio**.

![Per Scene Audio option highlghted in the Extensions menu](https://cdn4.xsplit.com/helpdesk/images/i/o/369838129/5221ed73425c4774a5973960/Per+Scene+Audio+01.png)

Use the _Scene Selector_ drop-down to **Add** that you want to manage the audio. Each scene added will have their own _system sound_ and _microphone_ volume level adjustments. Scenes that you don’t add will use the audio levels set in _Default_.

![Per Scene audio showing different volume adjustments for each scene](https://cdn4.xsplit.com/helpdesk/images/i/o/369838185/98c3c61cef94c6b66d035ae6/Per+Scene+Audio+02.png)

|| If you have the _volume range_ range set above 100% in your Audio Settings, it will also reflect here.

**Sync volume adjustment across scenes**  
Enable this to have the volume levels for all scenes added (including Default) automatically match any volume adjustment done.

  
**Enable scene crossfade**  
Enable this to have a crossfade effect when switching from one scene to another, making transitions for audio volume between scenes smoother.

---

## Presentation Packager

Presentation Packager allows you to save your XSplit presentation into a self-contained file which also contains the corresponding directory for each source. This is great for portability and easier sharing of your presentation to other users.

${youtube}[Extensions](\_hOUhxZLQPY)

You'll be able to access it by going to **Extensions** then selecting **Presentation Packager**.

![Extensions > Presentation Packager menu highlighted](https://cdn4.xsplit.com/helpdesk/images/i/o/376810944/9a7ce2f39af051ac89a48484/presentationpackager.png)

---

### Exporting Presentations

1. Click **Save As…**.  

Enabling **Export as BPZip presentation** will put the presentation files into a single compressed _BPZip_ file . Otherwise, it will be exported as a _BPres_ file along with a folder containing all the files used by the presentation.

![Presentation Packager main window, with Export as BPZIP checked](https://cdn4.xsplit.com/helpdesk/images/i/o/376810984/57e4864b8f63e337e5c25408/savingpackager.png)

2. Choose the _filename_ and destination _folder_ then click **Save**.

![Dialog box showing the presentation bpzip named as My Presentation](https://cdn4.xsplit.com/helpdesk/images/i/o/376811260/6a5eaad3819e86e31373e2ac/savedpresentation.png)

3. Check if all the details such as the _filename_ and _destination_ are correct. You can also click on **Verify presentation files** to make sure that all the files used as sources can be loaded and exported. Once all details are correct, click on **Export**.

![Presentation Packager with the My Presentation BPZIP file selected for import](https://cdn4.xsplit.com/helpdesk/images/i/o/376811323/f6473cb2675bfff3ba8e380f/exportpackager.png)

![Presentation Packager with a BPZIP file generated successfully](https://cdn4.xsplit.com/helpdesk/images/i/o/376811348/49da113ee39075a1c19745ae/validationpackager.png)

4. When confirmation that the export has been completed successfully is shown, you'll be able to find the _BPres_ or _BPzip_ file in the destination folder you chose earlier.

![Presentation Packager Export successful message](https://cdn4.xsplit.com/helpdesk/images/i/o/376811438/f3211afe1a082c73acdc8fc0/successfulpackager.png)

---

### Loading .BPres and .BPZip Presentations

1. To load your exported .BPres files, go to **File** > **Load Presentation…**.

Make sure that the .BPres file and the folder with all the presentation assets are in the same directory and have not been renamed.

  
2. The .BPZip files generated from the Presentation Packager can be loaded the same way through the **File** menu but will have to be extracted first. This window will be shown to let you choose which folder to extract the presentation's files to:

![the My Presentation.bpzip file selected for loading on XBC](https://cdn4.xsplit.com/helpdesk/images/i/o/376811751/dc0b87d509908d5f8607ee47/importpresentation.png)

---

## OBS Scene Importer

The OBS Scene Importer allows you to import a scene collection from OBS Studio into XSplit Broadcaster for an easy and streamlined way to transition between the two applications.

You will have to export your scene collections on _OBS Studio_ first by going to **Scene Collection** > **Export** then saving the **_JSON_** file.

![OBS Scene collection > Export menu highlighted](https://cdn4.xsplit.com/helpdesk/images/i/o/389041216/6f080321ebd2ca535c2bebb3/OBS-01.png)

### Importing OBS Scenes

1. Go to **Extensions** > **OBS Scene Importer**.

  
If _OBS Scene Importer_ is not shown in the _Extensions_ menu, you will have to install the extension plugin first through **Extensions** > **Add extensions** > **Find more extensions**.

![XBC Extensions > OBS Scene Importer (Beta) highlighted](https://cdn4.xsplit.com/helpdesk/images/i/o/389041317/fa6ed10550beb161bc56d8a3/OBS-02.png)

2. Click **…** then browse and select your **_exported OBS Scene Collection JSON file_**.

![XBC Scene Importer main menu where you can select the Scene Collection](https://cdn4.xsplit.com/helpdesk/images/i/o/389041384/719d2fc780988e3e236feedd/OBS-03.png)

3. Click **Import** to continue.

![XBC's Scene Importer showing that an OBS Scene json file has been located and ready for Import](https://cdn4.xsplit.com/helpdesk/images/i/o/389041461/c18c1ade743ac270f1ae21a4/OBS-04.png)

4. Before a new presentation is created from the scene collection you imported, you will be prompted if you want to save your current presentation.

![XBC OBS Scene importer confirmation message](https://cdn4.xsplit.com/helpdesk/images/i/o/389041539/206abf7115cb57e3058e9649/OBS-05.png)

|| A log file will also be generated in your XSplit logs folder after importing.  

---

### Supported Source Types

![OBS Scene Importer - Supported Source Types Chart](https://storage.crisp.chat/users/helpdesk/website/567507547fcdcc00/xbc-obs-scene-importer-support_1r03zyw.png)

### Supported General Source Properties

The following properties will be imported for sources:
**Position**, **Order**, **Scale**, **Flip**, **Rotate**¹ and **Volume**.  

Linked Sources and Groups are also supported for import.

¹ Positioning will be different for Rotate values not in _multiples of 90°_.

---

### Supported Effect Filters 


![OBS Scene Importer - Supported Effects Filters Chart](https://storage.crisp.chat/users/helpdesk/website/567507547fcdcc00/xbc-obs-scene-importer-support_17ks5wh.png)

While OBS Studio supports applying the same effect filter to a single source multiple times, only the latest effect filter of a specific type will be imported using the extension. The only exception is the _Crop/Pad_ effect filter.

