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.
| Language | Distribution | Use case |
|---|---|---|
| C# | NuGet package | Unity, Godot, Windows services, HEAT Capture itself |
| C++ | Static library (ZIP) | Unreal Engine, custom engines, embedded hosts |
| Python | Wheel | Data analysis, tooling, backend services |
| Rust | Source crate | High-performance backends, WebAssembly targets |
dotnet add package HEAT.ProtoLib.CSharp- Minimum: .NET 10. The package multi-targets
net10.0,netstandard2.1,netstandard2.0andnet48, 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 underHEAT.Proto.Simulation.Builders),HEAT.Proto.Capture(DataPacket),HEAT.Proto.Data(PDU,FolderUploadData). - Depends on
Google.Protobufand, at build time only,Grpc.Toolsfor 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.