LoupixDeck.PluginSdk 1.25.0

dotnet add package LoupixDeck.PluginSdk --version 1.25.0
                    
NuGet\Install-Package LoupixDeck.PluginSdk -Version 1.25.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LoupixDeck.PluginSdk" Version="1.25.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LoupixDeck.PluginSdk" Version="1.25.0" />
                    
Directory.Packages.props
<PackageReference Include="LoupixDeck.PluginSdk" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LoupixDeck.PluginSdk --version 1.25.0
                    
#r "nuget: LoupixDeck.PluginSdk, 1.25.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package LoupixDeck.PluginSdk@1.25.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LoupixDeck.PluginSdk&version=1.25.0
                    
Install as a Cake Addin
#tool nuget:?package=LoupixDeck.PluginSdk&version=1.25.0
                    
Install as a Cake Tool

LoupixDeck.PluginSdk

The plugin SDK for LoupixDeck.

It contains only the contracts shared between the LoupixDeck core and dynamically loaded integration plugins — no application logic. Integrations (OBS, Elgato Key Lights, CoolerControl, Argus Monitor, HWiNFO, Windows audio, and third-party plugins) are built against this SDK and shipped independently of the core.

Installation

dotnet add package LoupixDeck.PluginSdk

The host supplies the SDK assembly when it loads a plugin, so a plugin must not ship its own copy. Exclude the runtime asset in the plugin's .csproj:

<PackageReference Include="LoupixDeck.PluginSdk" Version="1.24.0">
  <ExcludeAssets>runtime</ExcludeAssets>
</PackageReference>

Documentation

SDK documentation is available in the Wiki.

Contracts

Type Purpose
LoupixPlugin Plugin entry point — one concrete subclass per plugin assembly.
PluginMetadata Identity and versioning of a plugin.
IPluginCommand A user-assignable action contributed by a plugin.
IDisplayCommand A command that additionally renders dynamic text on a touch button.
IMenuContributor Optional: contributes dynamically built submenu entries.
IPluginHost The bridge from a plugin back into the core.
IPluginSettings Per-plugin isolated settings store.
IPluginLogger Logging sink scoped to a plugin.
CommandContext / CommandDescriptor Execution context and declarative command metadata.
ButtonTargets Which button types a command supports.
MenuNode / DeviceInfo Menu and device value types.
SdkInfo The SDK contract version.

Versioning

The SDK uses SemVer. A plugin declares the SDK version it was built against; the host loads a plugin only when the major version matches.

License

MIT — see LICENSE.

Local development

Building this project produces a .nupkg under ./nupkg (via GeneratePackageOnBuild). The LoupixDeck core consumes the SDK as a NuGet package and resolves it from that folder through a local feed declared in the core repository's nuget.config.

To refresh the package the core builds against:

dotnet build LoupixDeck.PluginSdk.csproj -c Release

Bump <Version> in the .csproj before building when the contract changes.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.25.0 42 9/21/2026
1.24.0 69 9/19/2026