Custom Plugin Control

Last validated: 2026-05-05

Use a custom plugin when the integration needs direct Oden APIs, shared data, custom entities, custom capture, or tighter coupling to the Oden update loop than a TCP sidecar provides.

For most vehicle controllers, start with OCP TCP first. Move to a plugin only when the integration needs native Oden behavior.

Good plugin use cases

  • Custom operator input device handling.

  • Custom visualization entities.

  • Plugin-defined video capture.

  • Shared data between Oden plugins.

  • Operator-side data that should feed OCP without a webview or external TCP client.

  • Project-specific controls that need to run inside the Oden frame loop.

APIs to look at

Plugin SDK

Main native extension surface. Use it for custom entities, global plugins, GUI controls, and update-loop integration.

Com Channels

Plugin-defined messages between Player and Streamer. Use when you need custom Oden-to-Oden messages outside the OCP contract.

OCP shared data

Operator-side plugins can read vehicle_ocp and publish client_ocp. Use this when plugin code is the operator-side control source.

Webview named messages

Use when a browser UI should exchange JSON with plugins.