Skip to content
RadiatorTwo edited this page May 31, 2026 · 6 revisions

LoupixDeck.PluginSdk Wiki

LoupixDeck.PluginSdk is the contracts-only library that third-party plugins build against to extend the LoupixDeck core. It contains no application logic — only the interfaces, base classes and value types the host and the plugin share. A plugin is a single .NET class library that references this SDK, ships as a folder under the host's plugin directory, and is loaded dynamically at startup.

  • Current SDK version: 1.6.0
  • Target framework: net9.0
  • Package: LoupixDeck.PluginSdk (NuGet)
  • License: MIT

Contents

Plugin lifecycle at a glance

host startup
   │
   ├─ scan plugin folder
   ├─ load each plugin assembly
   ├─ find the single concrete LoupixPlugin subclass
   ├─ check PluginMetadata.SdkVersion.Major matches SdkInfo.Version.Major
   │
   ├─ new MyPlugin()
   ├─ plugin.Initialize(host)            ← host hands over IPluginHost
   ├─ plugin.GetCommands()               ← commands registered
   │
   ├─ … runtime: user invokes commands, host calls IPluginCommand.Execute(ctx)
   │
   └─ on shutdown: plugin.Shutdown()

When you only need to know one thing

Subclass LoupixPlugin, return a PluginMetadata with SdkVersion = SdkInfo.Version, and yield one or more IPluginCommand implementations from GetCommands(). Everything else is optional.

Clone this wiki locally