GUIDE

How USI keeps simulator complexity below the boundary

Every simulator models the same domain—an aircraft and its systems. USI presents that domain once.

Provider raw valueSimVar, DataRef, event, command
NormalizationMeaning, sign, scale, units, validity
PreferencesAviation, metric, US customary
Developer APITyped, readable, discoverable C#

Top stack

The public C# object model: Aircraft.Autopilot, Aircraft.Fuel, Simulator.Environment, Weather, Flight Planning, AI, and MCP. Developers stay here.

Bottom stack

Native C++ adapters translate each simulator SDK into the common ABI. MSFS 2020, MSFS 2024, and X-Plane 12 differences end at this boundary.

Capabilities and results

Capability discovery describes support before an operation. USIResult describes the outcome after it. Unsupported, temporarily unavailable, stale, disconnected, invalid, and failed states remain explicit.

Aircraft graphs and staleness

Aircraft components belong to the currently loaded aircraft graph. When the aircraft changes, retained components become stale and USI raises lifecycle events so applications can resolve the new graph.