Skip to content
Patrick Heyer edited this page Nov 1, 2024 · 2 revisions
  1. What Is The OBS Plugin Template
  2. What The OBS Plugin Template Is Not
  3. What Is Provided By The OBS Plugin Template

What Is The OBS Plugin Template

The OBS Plugin Template is a GitHub Template Repository to allow plugin developers to "generate new repositories with the same directory structure, branches, and files".

Thus it allows such developers to start development of a new plugin with a standardized directory structure, code formatting configurations and CI workflows and start customizing their project.

What The OBS Plugin Template Is Not

While it might be tempting to use the plugin template as an "upstream" base repository for plugin development, it is decidedly not meant to be used in such a way and no effort is made to maintain it towards that goal either.

Best practices evolve over time and as such also the best practices for the template can and will change. This will inevitably make the template's file structure and code base incompatible with prior variants of the template and reintegration of those changes into an existing plugin code base will not be impossible but work-intensive.

Plugin developers are of course free to treat the template repository in such a way, but should be aware that breaking changes might occur at any major update of OBS Studio itself, which is usually the point at which the template might also see a major revision.

What Is Provided By The OBS Plugin Template

The template provides a very basic plugin example project, which includes:

  • A basic Hello World-level implementation of an OBS Studio plugin written in C
  • A CMake project file that takes care of a lot (but not all) of the housekeeping for plugin development
  • A basic GitHub Actions workflow setup that allows the plugin to be automatically built for Windows, macOS, and Ubuntu
  • Configuration files for clang-format (source code formatter) and gersemi (CMake source code formatter), allowing plugin developers to either manually or automatically (depending on IDE support) format their source code, which is also automatically checked by the CI workflows