CARLA is Unreal Engine 4 with a Python API attached. OxiCAR is 628,269 lines of Rust in which the physics, the renderer, the middleware and the road format were written from the specifications. It runs headless, and it runs on a CPU.
cargo nextest run --workspace on the evaluation source: 15,205 run, 15,204 passed, 6 skipped. The single non-pass is a work-stealing stress test that hits the 60-second slow-timeout under full parallel load, and passes in 0.07s in isolation. Clippy is run with --workspace --all-features --all-targets -- -D warnings. You do not have to take our word for any of it.
Reproduce it yourself
That is not a criticism of the engines. It is an accounting of what you inherit when you build on one: a GPU requirement, a release cadence you do not control, an asset pipeline, and a licence written for shipping games.
| Simulator | Built on | Composition | Headless on CPU | V2X and middleware |
|---|---|---|---|---|
| CARLA | Unreal Engine 4 | C++ and Python over the engine | GPU expected | External ROS bridge |
| AirSim | Unreal Engine 4 / Unity | C++ and Python over the engine | GPU expected | Custom RPC |
| OxiCAR | Nothing. Written here. | 628,269 lines of Rust, 27 crates | Yes — the default path | DDSI-RTPS, C-V2X and IEEE 1609.2 in-workspace |
The interesting consequence is not speed, and we make no speed claim — no benchmark against CARLA or SUMO exists. It is that a scenario run is a Rust function call rather than a frame the engine decided to render, and that a research group without a GPU budget can run one.
A simulator that renders a nice picture and returns a perfect point cloud is a rendering demo. These are the models a perception team actually argues with.
A simulator is easy to demo and hard to trust. The distinction below is between code that runs in the default pipeline, code that exists and compiles but nothing calls, and work that has not been done.
Read the SCMS row twice if V2X security is why you are here. The P-256 signing and batch verification are genuine elliptic-curve cryptography against the IEEE 1609.2-2022 envelope. The credential-management layer above them models certificate validity as a boolean with no chain and no signature check. Do not use it for anything resembling real vehicle-to-everything security. The repository says the same thing in the same words.
Nine years removing C. Then we had to write the simulator itself.
The other products in this ecosystem close this page with a stack tree — a numerics floor we rebuilt before we built on it. A simulator does not work that way. CARLA's C++ is not a dependency you can swap out: CARLA is Unreal Engine, with a research API attached. There is no layer underneath to replace. The engine is the product.
So the work was different, and larger. The rigid-body physics is ours. The renderer is ours. The DDSI-RTPS implementation that ROS 2 talks to is ours, written from the OMG specification rather than linked against Fast DDS or Cyclone. The OpenDRIVE parser, the OpenSCENARIO 1.x reader and the 2.0 DSL, the Lanelet2 converter, the MCAP writer, the IEEE 1609.2 security envelope — all of it written here, from the documents, in Rust.
Writing it instead of wrapping it is the entire case. A simulator built on a game engine inherits that engine's release cadence, its licence, its GPU assumption and its idea of what a frame is — and inherits them permanently, because you cannot refactor them out. This one inherits none of it. That is why it runs headless on a laptop, why the scan path is deterministic enough to argue about, and why every number it produces comes out of code you have a licence to read.
Most of the ecosystem is public on GitHub under Apache-2.0. The simulator is the part we licence.
Source access for research and academic use. Tell us the sensor suite and the scenario set; you get the workspace and the limitations section above, in more detail.
Source or integration licence for a product line. Priced per year, no royalty on your vehicles, no per-seat runtime fee, no audit clause.
Homologation toolchains, ODD and RSS evidence work, or a national AV programme, including exclusive rights within a territory. This is the one that needs a conversation.