Skip to content

Improved way to identify system information where the game is running #2682

Open
@edmundito

Description

Describe the problem
Currently, we have one way to identify the platform through the System.OperatingSystem eOperatingSystem enum. But this gets complicated for consoles.

Let's say, for example, we are making a game that supports Wii U, Switch, and Switch 2. Should the enum be expanded to support each? Ideally, the OS should be identified as "Nintendo," and we should have a way to distinguish the hardware separately. Otherwise, we need to upgrade the enum every time a new hardware comes out.

For the engine implementation, it is highly likely that the OS/SDK for major consoles like Valve, Nintendo, Sony, and Microsoft will be consistent and have specific things depending on what the hardware can support.

Suggested change
There are many solutions to this, and I don't want to be prescriptive...

My first suggestion is replacing System.OperatingSystem with a more comprehensive info struct that returns more information depending on what the platform implementation supports. For example, for PlayStation, I'd like to know that it's running on a PlayStation, maybe the version of the firmware, the hardware model, and then make specific modifications if it's PS4, 5, 6, etc, accordingly.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions