isaac-sim-rs
Unofficial Rust SDK for NVIDIA Isaac Sim & Omniverse. Bridges Isaac Sim's C++ Carbonite plugin surface into safe Rust callbacks, with transport-agnostic consumer adapters — your data goes to dora-rs, rerun, a file logger, or any custom bus you wire up, without a Python or ROS hop in the hot path.
Adapter selection happens at cargo add time via feature flags. The default feature (arrow) is pure Rust and compiles on any machine without Isaac Sim installed.
Feature matrix
| Feature | Pulls in | Requires Isaac Sim at link time |
|---|---|---|
arrow |
pure-Rust Arrow schema + decoders (default) | No |
bridge |
bridge rlib + Arrow | No (rlib only) |
dora |
bridge + dora publisher + subscriber decoders | No (rlib only) |
rerun |
bridge + rerun Viewer builder | No (rlib only) |
full |
bridge + dora + rerun | No (rlib only) |
The C++ extension build passes --features isaac-sim-bridge/cdylib separately to produce the .so the Kit extension dlopens.
Usage
# schema + decoders only (no Isaac Sim required)
# dora subscriber decoders
# rerun viewer adapter
# both adapters in one build
// default features: Arrow schema + decoders, pure Rust
use ;
let depths = ;
let intensities = ;
let scan = LidarFlatScan ;
let batch = to_record_batch?;
assert_eq!;
# Ok::
See the workspace README for the full architecture, examples, and source-build instructions.
Compatibility
| Dependency | Version |
|---|---|
| Isaac Sim | 5.1 |
| Apache Arrow | 54 |
| dora-node-api | 0.5 (when dora feature enabled) |
| rerun | 0.31 (when rerun feature enabled) |
| Rust | 1.85+ |
License notice for re-publishers
MPL-2.0 is per-file copyleft. If you bundle this crate's binary into your own crate or extension, retain the SPDX header on every source file you include. The full license text is in LICENSE at the repo root.
License
MPL-2.0 (see LICENSE).