Skip to Content
This documentation is provided with the HEAT environment and describes this HEAT instance.

Consume the packages

HEAT ProtoLib publishes four language packages, all generated from the same schema. Pick the one matching your integration; see Schemas if you need the .proto files directly instead.

LanguageDistributionUse case
C#NuGet packageUnity, Godot, Windows services, HEAT Capture itself
C++Static library (ZIP)Unreal Engine, custom engines, embedded hosts
PythonWheelData analysis, tooling, backend services
RustSource crateHigh-performance backends, WebAssembly targets
dotnet add package HEAT.ProtoLib.CSharp
  • Minimum: .NET 10. The package multi-targets net10.0, netstandard2.1, netstandard2.0 and net48, so it also links into Unity and .NET Framework 4.8 projects.
  • Namespaces: HEAT.Proto (common types), HEAT.Proto.Simulation (Entity, Component, SimulationFrame, and their builders under HEAT.Proto.Simulation.Builders), HEAT.Proto.Capture (DataPacket), HEAT.Proto.Data (PDU, FolderUploadData).
  • Depends on Google.Protobuf and, at build time only, Grpc.Tools for proto compilation.
using HEAT.Proto.Simulation; using HEAT.Proto.Simulation.Builders; var frame = SimulationFrameBuilder.Create() .WithSimulationTick(42) .WithSimulationTimeSeconds(1.5) .AddEntity(EntityStateBuilder.Create() .WithEntity(e => e .WithId(100) .WithName("Vehicle1") .WithTransform(t => t.WithPosition(10.0f, 5.0f, 20.0f))) .Build()) .Build(); byte[] data = frame.ToByteArray(); var parsed = SimulationFrame.Parser.ParseFrom(data);

Cross-language guarantee

All four packages serialize to the same binary wire format: a message built in C# and written to disk parses correctly in Python, and the reverse. This is a property of Protocol Buffers, not something HEAT ProtoLib adds, but it is the reason the packages exist as four separate builds of one schema rather than four independent libraries: field numbering and encoding are identical, so there is no version-skew hazard between languages, only between schema versions. See Versioning and compatibility.

Opens your browser's print dialog. Choose "Save as PDF" as the destination.