1 · Call the host - Services (RPC)
The host implements the contract; clients call it through a generated typed proxy. Proxy and implementation come from the same interface, so they cannot drift - and it is all generated at compile time.
A complete plugin system for .NET hosts. Untrusted plugins live in a sidecar process behind
IPC (because AssemblyLoadContext is not a security boundary), while plugin-authored logic -
filters, projections, batches - runs inside the host as a validated, fuel-metered sandbox that
executes restricted IR, never loaded C#/IL. Everything you author is contract-first C# that source
generators turn into wiring.
Why DotBoxD? The isolation-vs-latency dilemma, in three diagrams ›
Every plugin interaction is one of three shapes - pick per call site:
1 · Call the host - Services (RPC)
The host implements the contract; clients call it through a generated typed proxy. Proxy and implementation come from the same interface, so they cannot drift - and it is all generated at compile time.
2 · React to the host - event pipelines
A plugin subscribes with an ordinary Where/Select chain. The filter runs inside the host
as sandboxed IR, so only matching, projected data ever crosses the wire, pushed one way
(result terminals can return a reply per match).
3 · Extend the host - Pushdown
A plugin ships its own batch operation that runs server-side over the host’s existing bindings, collapsing N round-trips into one validated submission - without recompiling the host.
Modes 2 and 3 are powered by the same engine - the kernel sandbox: validated, capability-gated, fuel-metered IR. Mode 1 is a trusted, hand-written host implementation.
# Full net10.0 stack - Services, the kernel sandbox, and Pushdown:dotnet add package DotBoxD --prerelease
# Unity / netstandard2.1 service bundle:dotnet add package DotBoxD.Services.All --prereleaseThe Services and channel libraries target netstandard2.1. Unity/IL2CPP consumers must additionally
use generated/static MessagePack formatters, root the generated registry, and validate their build.
The Kernels and Pushdown stack targets net10.0.
DotBoxD merges the former standalone ShaRPC (RPC) and Safe-IR (kernel sandbox) projects into one contract-first runtime. It is MIT licensed.