If your customer needs a licence to open the twin you sent them, you did not send them a twin.

That is not a swipe at anyone. We shipped files like that for years.

The 3D was never the hard part. A GLB opens anywhere. Everything that makes it a machine arrives beside it: an AutomationML file for the topology, a spreadsheet with the PLC symbols, a PDF explaining the kinematics because there was nowhere else to put them. Five years later that folder sits on a share nobody maintains.

None of those formats is bad. glTF does geometry properly. AutomationML and AAS are serious about semantics and have been for years. FMI was solving co-simulation before most of us cared. The problem is that a machine is all of it at once, and the file boundaries do not care.

And a format almost never fails on the spec. It fails because nothing writes it, or because the one tool that opens it costs five figures. A customer who cannot open the twin you shipped without first buying the software it was built in did not really receive anything. Whatever the licence on the paper says.

What we wrote down

So we wrote down what we had been doing internally anyway, and put a version number on it. rv-ODT puts drives, sensors, PLC signals and robot kinematics into node.extras of a standard glTF file. One GLB. No sidecar, no schema registry, no runtime of ours needed to read it.

It stays valid glTF. Drop it into a viewer that has never heard of us and the geometry opens. Enums are strings, units are UCUM codes, so you can read a file you have never seen before without fetching the schema first.

That last part is the one design decision we would defend hardest: enums as strings, never integers. It costs a few bytes, and it means a file written in 2026 is still readable by a human in 2036 without the schema sitting next to it. Everything else in the spec is negotiable.

Why glTF and not USD

Different jobs, and Khronos and AOUSD said so themselves when they signed a liaison in 2023: USD for composing and authoring scenes, glTF for delivering them. glTF 2.0 is ISO/IEC 12113 today. OpenUSD published its first Core Specification in December 2025 and entered the ISO process this July. Both will be around. We already read USD in realvirtual WEB, and an ODT file references into a USD stage like any other glTF.

Open, and what it costs

Spec and schema are CC BY 4.0. The reference implementation is AGPL. The schema URL stays reachable until at least 2037, which sounds like a detail until you read what the 2027 documentation rules expect you to still be able to open.

It is a standard we have to meet ourselves, so to be blunt about the money: reading an ODT file costs nothing and never will. Writing one is where our product sits. Export from realvirtual Professional today, free editing in realvirtual WEB is coming.

Want ODT in your own tool or pipeline? The spec is all you need to start. No licence, no registration, no call with us first: realvirtual.io/doc/web/odt. If something in it is unclear, tell us and we will fix the spec.

And if you work with AutomationML or AAS every day and think we got something wrong here, tell us where. We would rather fix the spec than defend it.