StreamDeck-Tools 1.1.5

There is a newer version of this package available.
See the version list below for details.
Install-Package StreamDeck-Tools -Version 1.1.5
dotnet add package StreamDeck-Tools --version 1.1.5
<PackageReference Include="StreamDeck-Tools" Version="1.1.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add StreamDeck-Tools --version 1.1.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: StreamDeck-Tools, 1.1.5"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install StreamDeck-Tools as a Cake Addin
#addin nuget:?package=StreamDeck-Tools&version=1.1.5

// Install StreamDeck-Tools as a Cake Tool
#tool nuget:?package=StreamDeck-Tools&version=1.1.5
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

BarRaider's Stream Deck Tools


Author's website and contact information:


  • Just call the SDWrapper.Run() and the library will take care of all the overhead
  • Built-in integration with NLog. Use Logger.LogMessage() for logging.
  • Just have your plugin inherit PluginBase and implement the basic functionality

How do I use this?

This library wraps all the communication with the Stream Deck App, allowing you to focus on actually writing the Plugin's logic. After creating a C# Console application, using this library requires two steps:

  1. Create a class that inherits the PluginBase abstract class. Implement your logic, focusing on the methods provided in the base class. Follow the sample here for more details:
public class MyPlugin : PluginBase
	// Create this constructor in your plugin and pass the objects to the PluginBase class
	public MyPlugin(SDConnection connection, JObject settings) : base(connection, settings)
  1. In your program.cs, Create a list of all the ActionIds (UUIDs) your plugin supports, and which class implements it. The actionId correlates to the UUID field in the manifest.json file.
    You can have more than one action in the manifest file and therefore we except an array. The second parameter is the type (not instance!) of the class that implements that action. This is the class from step 1 above. Pass the args you received along with the supported ActionIds to the SDWrapper.Run() function, and you're done! Example:
class Program
	static void Main(string[] args)
		List<PluginActionId> supportedActionIds = new List<PluginActionId>();
		supportedActionIds.Add(new PluginActionId("com.barraider.myUUID", typeof(MyPlugin)));

		SDWrapper.Run(args, supportedActionIds.ToArray());

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on StreamDeck-Tools:

Repository Stars
Elgato Stream Deck plugin for Elite Dangerous
Create sophisticated macros easily and run them through your Stream Deck
Version Downloads Last updated
3.2.0 918 1/20/2021
3.1.0 547 11/29/2020
3.0.0 301 10/1/2020
2.9.0 402 6/25/2020
2.8.0 382 4/27/2020
2.7.0 725 1/2/2020
2.6.0 489 9/29/2019
2.5.0 365 8/12/2019
2.4.2 302 7/15/2019
2.3.0 287 7/9/2019
2.2.0 372 5/24/2019
2.0.1 396 3/8/2019
2.0.0 444 3/4/2019
1.1.6 371 2/18/2019
1.1.5 380 2/15/2019
1.1.1 357 2/9/2019

* ContextId can now be obtained from the SDConnection object
* Logging now automaticaly archives old logs to a "logs" folder
* Updated dependencies to release versions