SVappsLAB.iRacingTelemetrySDK 0.9.8.3

Prefix Reserved
dotnet add package SVappsLAB.iRacingTelemetrySDK --version 0.9.8.3
                    
NuGet\Install-Package SVappsLAB.iRacingTelemetrySDK -Version 0.9.8.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SVappsLAB.iRacingTelemetrySDK" Version="0.9.8.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SVappsLAB.iRacingTelemetrySDK" Version="0.9.8.3" />
                    
Directory.Packages.props
<PackageReference Include="SVappsLAB.iRacingTelemetrySDK" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SVappsLAB.iRacingTelemetrySDK --version 0.9.8.3
                    
#r "nuget: SVappsLAB.iRacingTelemetrySDK, 0.9.8.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SVappsLAB.iRacingTelemetrySDK@0.9.8.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SVappsLAB.iRacingTelemetrySDK&version=0.9.8.3
                    
Install as a Cake Addin
#tool nuget:?package=SVappsLAB.iRacingTelemetrySDK&version=0.9.8.3
                    
Install as a Cake Tool

iRacing Telemetry SDK for C# .NET

High-performance .NET SDK for accessing live telemetry data from iRacing simulator and IBT file playback. Features compile-time code generation for strongly-typed telemetry access with zero-allocation performance optimizations.

Why Use This SDK?

  • Live Telemetry: Real-time access to speed, RPM, tire data, and 200+ other variables during iRacing sessions
  • IBT File Support: Analyze historical telemetry data from saved iRacing IBT files
  • Type Safety: Source code generation creates strongly-typed telemetry structs at compile time
  • High Performance: Processes 300,000+ telemetry records/second with zero-allocation techniques
  • Simple API: Event-driven architecture with easy-to-use async patterns

Perfect for building dashboards, data analysis tools, race engineering applications, and telemetry visualizations.

Installation

dotnet add package SVappsLAB.iRacingTelemetrySDK

Quick Start

using Microsoft.Extensions.Logging;
using SVappsLAB.iRacingTelemetrySDK;

// 1. Define the telemetry variables you want to track
[RequiredTelemetryVars(["Speed", "RPM", "Gear"])]
public class Program
{
    static async Task Main(string[] args)
    {
        // 2. Create logger
        var logger = LoggerFactory.Create(builder => builder.AddConsole())
                                  .CreateLogger("TelemetryApp");
        
        // 3. Use IBT file if provided, otherwise connect to live iRacing session
        // If using an IBT file, you can specify the playback speed from 1x to max (depends on hardware)
        // e.g. to specify 10x playback speed: new IBTOptions(args[0], playBackSpeedMultiplier: 10)
        var ibtOptions = args.Length == 1 ? new IBTOptions(args[0]) : null;

        // 4. Create telemetry client
        using var client = TelemetryClient<TelemetryData>.Create(logger, ibtOptions);
        
        // 5. Subscribe to telemetry updates (60Hz)
        client.OnTelemetryUpdate += (sender, data) =>
        {
            var speedMph = data.Speed * 2.23694f; // Convert m/s to mph
            Console.WriteLine($"Speed: {speedMph:F0} mph, RPM: {data.RPM:F0}, Gear: {data.Gear}");
        };
        
        // 6. Start monitoring
        using var cts = new CancellationTokenSource();
        await client.Monitor(cts.Token);
    }
}

Requirements

  • .NET 8.0+
  • Windows (for live telemetry) - IBT playback works cross-platform
  • Microsoft.Extensions.Logging package

Documentation & Examples

License

Apache License 2.0 - See LICENSE for details.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.9.8.3 33 8/1/2025
0.9.8.1 92 7/31/2025
0.9.8 92 7/27/2025
0.9.7 140 7/7/2025
0.9.6 136 7/1/2025
0.9.5 130 6/15/2025
0.9.4 138 6/14/2025
0.9.3 100 6/1/2025
0.9.2 198 5/12/2025
0.9.1 147 4/30/2025
0.9.0 203 3/9/2025
0.8.0 135 2/10/2025
0.7.0 152 12/8/2024
0.6.7 117 10/13/2024
0.6.5 106 9/28/2024
0.6.3 125 9/17/2024
0.6.2 134 9/14/2024
0.6.1 130 9/9/2024
0.6.0 140 8/27/2024
0.5.0 156 8/17/2024
0.4.8 125 7/20/2024
0.1.7-beta 138 7/20/2024 0.1.7-beta is deprecated because it is no longer maintained.
0.1.6-beta 121 7/20/2024 0.1.6-beta is deprecated because it is no longer maintained.