SymStudio: Forking and Rebranding OBS Studio Into My Own Build
Description and use
Successfully created SymStudio, a rebranded OBS Studio build with custom UI elements, a welcome dock, and starter scenes. The project demonstrates a clean fork workflow, resolving specific build environment issues (VS version pinning, ATL dependencies) and maintaining GPLv2 compliance.
Problem
The user wanted to create a personalized, rebranded version of OBS Studio (SymStudio) with custom branding, themes, and starter scenes, while ensuring the underlying engine remained stable and compliant with GPLv2 licensing.
Outcome
Successfully created SymStudio, a rebranded OBS Studio build with custom UI elements, a welcome dock, and starter scenes. The project demonstrates a clean fork workflow, resolving specific build environment issues (VS version pinning, ATL dependencies) and maintaining GPLv2 compliance.
Workflow
- Clone the OBS Studio repository and fork from a specific upstream commit to ensure a recoverable vanilla state.
- Install Visual Studio 2022 Build Tools and Windows SDK 10.0.22621, as newer versions (VS 2026) are not compatible with OBS's CMake presets.
- Add the Microsoft.VisualStudio.Component.VC.ATL component to resolve compilation errors for plugins requiring ATL headers.
- Configure the build using 'cmake --preset windows-x64' and build with 'cmake --build --preset windows-x64 --config RelWithDebInfo'.
- Modify frontend/CMakeLists.txt to change the executable name from 'obs64' to 'SymStudio'.
- Update window titles, Qt app display names, and locale strings in frontend/data/locale/en-US.ini.
- Generate and replace application, window, and tray icons with custom assets.
- Update the About dialog and attribution strings to reflect 'SymStudio / Based on OBS Studio'.
- Develop and integrate new Qt widgets, such as the SymStudioWelcomeDock, into OBSBasic::OBSInit().
- Create and set a custom theme (.ovt file) as the default.
- Generate starter scenes programmatically using Pillow-generated overlay art.
- Package the build using CPack to create an NSIS installer.
Evidence
OBS is GPLv2, so this is allowed: GPLv2 requires keeping the source open and the license and copyright notices intact
My machine had Visual Studio 2026 installed, but OBS's windows-x64 preset pins the generator to 'Visual Studio 17 2022'
The fix was adding the Microsoft.VisualStudio.Component.VC.ATL component
- Record date: 2026-09-08T20:15:15.524Z