Skip to content
This repository was archived by the owner on Jul 11, 2025. It is now read-only.
This repository was archived by the owner on Jul 11, 2025. It is now read-only.

Future multiplatform support and general direction #826

@SirePi

Description

@SirePi

Just throwing here some thoughts, ideas and evidence about the direction that Duality would need to take to reach "official" multiplatform capabilities

  1. Duality is basically already a .net standard environment
  2. OpenTK is approaching version 4, initially described as having support to .net standard
  3. OpenTK will drop glControl and similar UI elements, with no plans to do so in the immediate future - issues for the editor
    image
  4. OpenTK's will not be .net standard, but require either framework or core, this I believe means that the launcher/platform distinction will no longer be possible
    image
  5. Silk.NET can actually support .net standard, and appears to be quite similar to OpenTK in terms of API; biggest difference is in terms of reliance on pointers and unsafe methods
  6. Apparently Silk.NET is also working on a UI framework, and supports Vulkan
  7. There's other frameworks around as well (i.e. Veldrid), but that definitely means that we'll have to basically rewrite the whole platform

This said, I think that losing the platform projects IMHO is not that big of a deal (sorry @ilexp 😄 ).. I mean, it's a neat feature but in all the time it has existed I never saw another platform implementation other than the default ones. (and maybe drop one abstraction layer?)

Metadata

Metadata

Labels

Breaking ChangeBreaks binary or source compatibilityCoreArea: Duality runtime or launcherDiscussionNothing to be done until decided otherwise

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions