Spieleentwicklung 19.04.2021, 12:07 Uhr

Unity: Breaking Changes beim Übergang zu .NET 6 erwartet

Unity-Softwareentwickler Josh Peterson hat mit dem Online-Dienst The Register über die Zukunft der .NET-Unterstützung in der weit verbreiteten Spieleentwicklungs-Engine gesprochen.
(Quelle: unity.com)
Die C#-Skripting-Engine für Unity basiert auf Mono, aber Entwickler können auch das .NET Framework verwenden, wenn es unter Windows läuft. Mono ist die alte Open-Source-Implementierung von .NET, aus der Zeit bevor Microsoft selbst mit .NET Core herauskam. Microsoft hat die Verwaltung von Mono mit Xamarin im Jahr 2016 übernommen und Mono teilt nun einen Großteil des Codes mit .NET Core, aber es bleibt zugleich eigenständig und die Laufzeitumgebung wird in einigen Szenarien weiterhin verwendet.
Unity unterhält einen eigenen Fork von Mono, der laut Josh Peterson "etwa zwei Jahre hinter dem neuesten Upstream-Code liegt." Das Team ist nun dabei, diesen auf den neuesten Code aus dem Upstream-Mono-Repository zu aktualisieren, eine Änderung, von der er "95 Prozent zuversichtlich" ist, dass sie es in die nächste Version, Unity 2021.2, schaffen wird. Er fügte hinzu, dass diese Übung die Leistung verbessern und Bugs beheben wird, aber an sich "keine neuen .NET-Features haben wird" - obwohl sie den Grundstein für Features legt, die in Zukunft hinzugefügt werden.
Trotzdem erwartet Peterson, dass Unity 2021.2 Unterstützung für den .NET Standard 2.1 bieten wird, allerdings nur mit "75-prozentiger Sicherheit". Was den Wunsch angeht, auf .NET Core zu migrieren, so ist das nicht so bald zu erwarten. Peterson sagte, dass Unity wahrscheinlich .NET 5 zu Gunsten von .NET 6 überspringen wird, welches die kommende langfristige Support-Version ist. Selbst dann, sagte er, "sieht es so aus, als ob die JIT-Laufzeit hier Mono sein wird", aber er ist unsicher und fügte hinzu, dass "wir vielleicht direkt zu CoreCLR für .NET 6-Unterstützung wechseln müssen."
Für Spieleentwickler wird .NET 6 dennoch ein "breaking Change" sein, da laut Peterson alle Assemblies, die gegen mscorlib.dll aus dem .NET Framework-Ökosystem kompiliert wurden, nicht funktionieren und neu kompiliert werden müssen.
Die Komplexität rund um .NET Standard, .NET Framework, .NET Core und Mono ist eine Herausforderung für die Unity-Entwickler und zeigt, dass Microsofts Vereinheitlichung von .NET in Wirklichkeit ein Prozess ist und nicht etwas, das mit der Veröffentlichung von .NET 5.0 im letzten Jahr über Nacht passiert ist.
Den kompletten englischsprachigen Beitrag von The Register lesen Sie hier.


Das könnte Sie auch interessieren