Unity erläutert am 26. Februar 2019 die Sprach- und Compilerentscheidungen hinter dem Data-Oriented Tech Stack (DOTS). Lucas Meijer beschreibt High-Performance C# (HPC#) als eingeschränkte C#-Teilmenge. Der zugehörige Burst-Compiler ist laut dem Beitrag seit Unity 2018.1 als Vorschaupaket verfügbar. Es handelt sich um eine technische Erklärung, nicht um eine neue stabile Freigabe.
Strukturen und kontrollierter Speicher statt Klassen
Performancekritischer HPC#-Code verzichtet auf Klassenallokationen, Reflection, Garbage Collection und virtuelle Aufrufe. Stattdessen stehen Strukturen und Container wie NativeArray im Vordergrund. Unity nennt vorhandene C#-Werkzeuge und Microsofts Roslyn-Compiler als Gründe für die Sprachwahl. Burst erzeugt daraus optimierten Maschinencode.
Meijer beschreibt außerdem die Aufteilung von Datenverarbeitung in Jobs. Diese legen fest, welche Puffer sie lesen und verändern. Der Scheduler soll widersprüchliche Zugriffe erkennen und passende Abhängigkeiten verlangen. Die konkreten Sicherheitsgarantien beziehen sich auf dieses kontrollierte Modell, nicht auf beliebigen C#-Code.
Entwicklungsziele sind keine zugesagten Release-Funktionen
Eine einheitliche Codebasis für Architekturen wie iOS und Xbox gehört zu den genannten Zielen. Architekturübergreifend deterministische Gleitkommaberechnungen und bestimmte mathematische Optimierungen bezeichnet Meijer ausdrücklich als künftige Arbeit. Der Beitrag belegt nicht, dass diese Funktionen im Februar 2019 bereits verfügbar waren.
Der Fokus liegt damit auf der Organisation und Übersetzung von performancekritischem Spielcode. Unity hatte bereits 2012 einen eigenen Lernbereich mit C#-Beispielen angekündigt. Der DOTS-Beitrag richtet sich dagegen an die technische Gestaltung solcher Programme und an erfahrene Engine-Teams.

