Getting a newer version of an OBS extension from GitHub means downloading the files yourself and replacing the old ones in your OBS folder
OBS Studio extensions don't always update automatically through the official OBS marketplace. If you need a newer version that hasn't been released there yet, or if the developer has posted a fix on GitHub before it reaches the marketplace, you can pull the latest version directly from the source. This process involves downloading the extension files from GitHub, finding your OBS extensions folder, and swapping out the old version for the new one.
The steps differ slightly depending on whether you're on Windows, macOS, or Linux, and whether the extension is a plugin (compiled code) or a script (plain text). Most extensions fall into one category or the other, and the developer's GitHub page will tell you which one you're dealing with.
Key Takeaways
- OBS extensions on GitHub are usually packaged as either plugins (which need compilation) or scripts (which you can use directly after download).
- Script extensions go into your OBS data folder under Plugins or Scripts; plugin extensions usually require you to build them yourself or download a pre-built release file.
- On Windows, your OBS data folder is typically in AppData\Roaming\obs-studio; on macOS it's in Library/Application Support/obs-studio; on Linux it's in .config/obs-studio.
- Before replacing an old version, back up your current extension folder so you can revert if the new version causes problems.
Telling the difference between a plugin and a script extension
When you land on a GitHub repository for an OBS extension, look at the file structure and the README. If the repo contains source code files like .cpp, .c, .h, or .rs files, it's a plugin — compiled code that needs to be built before OBS can use it. If it contains .lua, .py, or .js files, it's a script — plain text code that OBS can run directly.
The README file in the repo will usually say "Installation" or "Building" and tell you which type it is. If it says "Download the latest release from the Releases page," that's your signal to look for a pre-built version. If it says "Clone this repo and build with CMake" or similar, the developer expects you to compile it yourself — which is more complex and beyond most users' needs.
For this guide, we're covering script extensions and pre-built plugins, since those are the ones you can update by downloading and moving files. If your extension requires compilation, check the README for build instructions or look for a pre-built release file on the Releases tab.
Finding and downloading the extension files from GitHub
Go to the extension's GitHub repository and look for a Releases tab near the top of the page. Click it. The latest release is usually at the top. Look for a download link — it might be labeled as a .zip file, a .tar.gz file, or sometimes just a folder you can download. Download the file that matches your operating system if there are separate versions for Windows, macOS, and Linux.
If there's no Releases tab or no pre-built files, click the green Code button and select "Download ZIP." This downloads the entire repository. Extract the ZIP file to a folder on your computer. Inside, look for a folder named something like "plugin," "extension," "dist," or the extension's name itself — that's usually the folder you need to move into OBS.
For script extensions, you're looking for a single .lua, .py, or .js file, or a folder containing those files. For plugin extensions, you're looking for a folder that contains compiled files with names ending in .so (Linux), .dylib (macOS), or .dll (Windows).
Locating your OBS extensions folder
OBS stores extensions in a specific folder on your computer. The location depends on your operating system. Open your file manager and navigate to the correct path for your system.
On Windows: Press Windows key + R, type %appdata%, and press Enter. Navigate to the obs-studio folder. Inside, you'll see a Plugins folder (for compiled plugins) and a Scripts folder (for script extensions).
On macOS: Open Finder, press Command + Shift + G, and type ~/Library/Application Support/obs-studio. Press Enter. You'll see a Plugins folder and a Scripts folder inside.
On Linux: Open your file manager and navigate to ~/.config/obs-studio. You'll see a plugins folder and a scripts folder inside.
If you don't see these folders, create them. OBS will recognize them when it starts up next.
Backing up your current extension before updating
Before you replace anything, make a copy of your current extension folder and store it somewhere safe — your Desktop or a Backups folder. This way, if the new version causes problems or conflicts with your setup, you can quickly swap back to the old version without losing your configuration.
Right-click the extension folder, select Copy, navigate to a backup location, and paste it there. Rename the backup folder so you know what it is and when you backed it up — for example, "MyExtension_old_v1.2.3_backup."
Moving the new extension into OBS
Extract the downloaded extension files if they're in a ZIP or compressed folder. Locate the extension folder itself — the one that contains the actual plugin or script files, not just a wrapper folder.
Open your OBS extensions folder (Plugins or Scripts, depending on the type). If an older version of the extension is already there, delete or rename it. Then move or copy the new extension folder into the Plugins or Scripts folder. The folder name should match what OBS expects — check the README or the old folder name if you're unsure.
Close OBS completely if it's running. Reopen OBS. The new extension should appear in your Plugins or Scripts list. If it doesn't show up, check the OBS log file for error messages. On Windows, go to Help > Log Files > View Log File to see what went wrong.
Troubleshooting when the new extension doesn't work
If OBS doesn't recognize the new extension after you restart it, the most common causes are a wrong folder name, the extension in the wrong subfolder (Plugins vs. Scripts), or a missing dependency the extension needs to run.
Check the README again for the exact folder name OBS expects. Make sure you put a plugin in the Plugins folder and a script in the Scripts folder. If the extension requires additional libraries or tools, the README will list them — you may need to install those separately before OBS can load the extension.
If you're still stuck, revert to your backup copy, restart OBS, and confirm the old version works. Then check the GitHub repository's Issues tab to see if other users have reported the same problem, or post a new issue describing what happened.
Frequently Asked Questions
Do I need to uninstall the old version before installing the new one?
Not formally — OBS doesn't have an uninstall process for extensions. You just delete or rename the old extension folder and replace it with the new one. Restarting OBS will load the new version. If you want to keep both versions for some reason, rename the old folder so OBS doesn't try to load it.
What if the GitHub repository doesn't have a Releases tab?
Some developers don't use Releases and instead put the extension files directly in the main branch. Download the ZIP of the entire repository, extract it, and look for a folder named after the extension or labeled "plugin," "dist," or "build." If you can't find it, check the README for instructions on where the files are located.
Can I update an extension while OBS is running?
You can move the files while OBS is open, but OBS won't load the new version until you close and reopen it. Close OBS first, swap the folders, then reopen OBS to make sure the new extension loads correctly.
Will updating an extension delete my settings or scenes?
No. Your OBS scenes, sources, and settings are stored separately from the extension files. Updating an extension only replaces the extension code itself. Your configuration stays intact. However, if the new version has a different settings format, you may need to reconfigure the extension's options.
What should I do if the new version breaks something?
Restore your backup copy of the old extension folder, delete the new one, and restart OBS. Once the old version is working again, check the GitHub Issues page to see if the problem is known, or post a detailed report of what went wrong so the developer can fix it in the next update.