Custom Plugin Control
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_ocpand publishclient_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.
See Plugin API and Plugin Messaging.