An Unreal Engine plugin that provides UDP telemetry data for use with external programmes like SimHub, Fanalabs, and other racing telemetry applications.
The Vehicle Telemetry Plugin enables real-time transmission of vehicle telemetry data from Unreal Engine projects via UDP. It supports multiple telemetry formats and is designed to work seamlessly with Chaos Vehicle Physics, providing comprehensive vehicle data including engine metrics, position, velocity, input controls, and race information.
This plugin introduces the Vehicle Telemetry Standard (VTS), a new standardised format designed to provide consistency across racing games and simulators. By establishing a common telemetry protocol, VTS aims to simplify integration for telemetry applications like SimHub and Fanalabs, making it easier for developers to add telemetry support to their games and for users to connect their favourite racing accessories and dashboards.
- :satellite_antenna: UDP Telemetry Transmission: Real-time vehicle data broadcasting via UDP
- 🔁 Multiple Telemetry Formats: Supports the new Vehicle Telemetry Standard (VTS) format and Forza Horizon 5 format
- 🔗 Chaos Vehicle Integration: Built-in support for
UChaosWheeledVehicleMovementComponent - :timer: Configurable Send Rate: Adjustable transmission frequency (1-240 Hz)
- 🛠️ Blueprint & C++ Support: Full Blueprint exposure with C++ implementation
- 🚀 Auto-Start Option: Configurable automatic telemetry transmission on game start
- 📊 Comprehensive Data: Includes vehicle metrics, race data, and input controls
Configure the plugin settings in Edit > Project Settings > Vehicle Telemetry:
- Auto Start: Automatically start telemetry transmission when the game begins
- Remote IP Address: Target IP address for UDP telemetry (default:
127.0.0.1for localhost) - Remote Port: UDP port number (default:
8000) - Send Rate Hz: Telemetry transmission frequency (1-240 Hz, default:
60) - Telemetry Format: Choose between:
VTS(VTS format - the new standardised format)FH5(FH5 format)
- ➕ Add Component to Vehicle: Add the
ChaosWheeledVehicleTelemetryComponentto your vehicle actor - ⚙️ Configure Settings: Set up the IP address and port in Project Settings
- 🚀 Launch External App: Start SimHub, Fanalabs, or your telemetry application and configure it to listen on the specified port
- Select your vehicle actor in the editor
- Click Add Component > Search for
Chaos Wheeled Vehicle Telemetry Component - Configure component properties:
- Auto Commit Telemetry: Automatically commit telemetry data each frame (recommended:
true) - Update Telemetry On Tick: Update telemetry data each tick (recommended:
true)
- Auto Commit Telemetry: Automatically commit telemetry data each frame (recommended:
The component will automatically:
- Extract data from the
UChaosWheeledVehicleMovementComponent - Calculate acceleration and angular velocity
- Update telemetry data each frame
- Commit data to the subsystem for transmission
For custom vehicle implementations, use the base VehicleTelemetryComponent:
- Add
VehicleTelemetryComponentto your vehicle - Override
UpdateTelemetry()to populateTelemetryDatawith your vehicle's data - Call
CommitTelemetry()to send the data (or enableAutoCommitTelemetry)
The plugin transmits comprehensive vehicle telemetry data including:
- ⚙️ Engine Metrics: RPM (current, idle, max), gear
- 🧭 Position & Motion: Position (X, Y, Z), velocity, acceleration, angular velocity
- 🔄 Orientation: Rotation (yaw, pitch, roll)
- 💨 Performance: Speed (m/s), power (watts), torque (Nm)
- 🏁 Race Status:
bIsRaceOnflag - ⏱️ Timing: Timestamp, current lap time, last lap time, best lap time, race time
- 📈 Progress: Distance travelled, lap number, race position
- 🕹️ Controls: Steering (-1.0 to 1.0), throttle, brake, clutch, handbrake (0.0 to 1.0)
The Vehicle Telemetry Standard (VTS) is a new telemetry protocol being introduced to address the fragmentation in racing game telemetry formats. Currently, each racing game or simulator uses its own proprietary telemetry format, making it difficult for telemetry applications to support multiple games and for developers to implement telemetry in their projects.
🎯 Our Goal: To establish VTS as a universal standard that:
- Provides a consistent, well-documented telemetry format
- Simplifies integration for game developers
- Enables telemetry applications to support multiple games through a single interface
- Creates a thriving ecosystem where racing accessories and dashboards work seamlessly across all VTS-compatible games
By using this plugin, you're contributing to the standardisation effort. As more games adopt VTS, the entire racing community benefits from improved compatibility and easier access to telemetry features.
VTS is a new standardised telemetry format introduced with this plugin, designed to provide a consistent protocol across racing games and simulators. The goal is to establish a universal standard that simplifies telemetry integration for both game developers and telemetry application developers.
🔑 Key Benefits:
- 📊 Standardised Structure: Consistent data layout across all games using VTS
- 🔧 Easy Integration: Simplified implementation for game developers
- 🌐 Universal Compatibility: Works with any telemetry application that supports VTS
- 🛡️ Future-Proof: Designed to be extensible whilst maintaining backward compatibility
The VTS format transmits data as a packed binary structure, optimised for low-latency UDP transmission. It includes comprehensive vehicle metrics, race data, and input controls in a well-defined, documented format.
🎯 Standardisation Goal: By providing this plugin and the VTS specification, we aim to encourage adoption across the racing game community, creating a unified ecosystem where telemetry applications can support multiple games through a single, standardised interface.
Compatible with applications that support Forza Horizon 5 telemetry format. This format is provided for compatibility with existing telemetry applications that already support FH5.