Skip to main content

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

  1. Copy the built .dll into the Plugins/ directory next to FrameLift.exe.

  2. Add the plugin's name to the enabled= list under the [plugins] section of the FrameLift config:

    [plugins]
    enabled=HelloPlugin,Playlist,History
  3. 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.