Installation
Requirements
- A C++23 compiler. On Windows the host is built with MinGW; MSVC and Clang builds that target the same Windows ABI also work.
- CMake 3.28 or newer.
- A copy of FrameLift to load your plugin into.
You do not need imgui, spdlog, stb, or a JSON library. The SDK is dependency-free — see the Introduction for why.
Get the SDK
The SDK is published as a framelift-sdk-<ver>.zip archive attached to each tagged
FrameLift release. Download and unpack it anywhere:
framelift-sdk-<ver>/
├── CMakeLists.txt # standalone build root (builds the example)
├── cmake/
│ ├── FrameLiftSdk.cmake # add_framelift_plugin() + the FrameLiftSdk target
│ ├── FrameLiftSdkConfig.cmake # find_package(FrameLiftSdk) entry point
│ └── FrameLiftSdkConfigVersion.cmake
├── include/framelift/ # public headers (umbrella: core.h, ui.h, services.h, platform.h)
├── src/ # SDK helper sources, compiled into your plugin
├── examples/HelloPlugin/ # minimal worked example
├── README.md
└── LICENSE
Build the bundled example
The archive's root CMakeLists.txt builds the HelloPlugin example, which is
the fastest way to confirm your toolchain is set up correctly:
cmake -B build
cmake --build build
# → build/Plugins/HelloPlugin.dll
If build/Plugins/HelloPlugin.dll is produced, your environment is ready.
Load a plugin into FrameLift
-
Copy the built
.dllinto thePlugins/directory next toFrameLift.exe. -
Add the plugin's name to the
enabled=list under the[plugins]section of the FrameLift config:[plugins]
enabled=HelloPlugin,Playlist,History -
Launch FrameLift. Enabled plugins are loaded on startup; an ABI-mismatched plugin is skipped and the reason is logged.
Next
Continue to Your First Plugin to write one from scratch.