Extensible Plugin SDK
Core API Hook: Assembly Load / Dynamic Instantiation Reflection
Load and run third-party actions compiled into dynamic .NET assemblies conforming to the IActionPlugin interface.
Configuration Parameters
| Parameter | Type | Description |
|---|---|---|
| PluginId | string | Unique identifier matching custom compiled plugin DLL file name registered on local path. |
| Arguments | string | Serialized JSON string payload passed directly to the plugin execution hook. |
config.json Mapping
{
"Type": "DynamicPlugin",
"Name": "Run OBS Socket Event",
"PluginId": "MyCustomAutomationPlugin",
"Arguments": "{\"command\": \"fade_to_black\"}"
}
Save inside database layout actions configuration map.
Native Execution Hook
// DynamicPlugin execution logic
var dllPath = Path.Combine("Actions", $"{action.PluginId}.dll");
var assembly = Assembly.LoadFrom(dllPath);
foreach (var type in assembly.GetTypes())
{
if (typeof(IDynamicActionPlugin).IsAssignableFrom(type) && !type.IsInterface)
{
var instance = (IDynamicActionPlugin)Activator.CreateInstance(type);
instance.Execute(action, InputManager.Instance, vk, chainDepth);
}
}
Executed within IsoCore remapping runtime loop.
← Back to Actions Directory
IsoKey Module: DynamicPlugin