Work in progress. These docs are new and are likely missing a lot of info. If you notice something wrong or missing, open an issue. PRs are welcome as well.

Platforms

But will it Hyperion?

Where it runs

Platform Status
Windows (x64, arm64) Yes. Runtime and editor. DirectX 12 by default, or Vulkan.
macOS (arm64) Yes. Runtime and editor.
Linux (x64) Yes. Runtime and editor.
Web Yes, through WebAssembly and WebGPU. Runtime only, built from the Windows editor.
Android Supported - not stable yet.
iOS Supported - not stable yet.
Steam Deck Yes, through Proton. Input and resolution handling still need work.

Linux is newer than the other desktop platforms, so expect some rough edges. Contributions are welcome on this front (as well as anywhere else).

In this section

Steam Deck

On the Deck, run the Windows build through Proton. Controller input and resolution handling still need work here. The native Linux build hasn't been tested on the Deck yet.

Per-platform settings

Each platform can have its own config, like Config/EngineConfig.Android.json or Config/GlobalConfig.Web.json. If a platform file exists it replaces the regular one, rather than merging with it, so it needs every setting.

The mobile configs, for example, turn off ray tracing, DDGI, SSGI and TAA.

Device tiers

On top of the config, Config/DeviceTiers.hmf has rules that change settings for the device the game is running on. Each rule matches on any of:

Axis Values
DeviceType Desktop, Laptop, Mobile
DevicePlatform Windows, MacOS, Linux, Android, IOS, Web
DeviceGrade Low, Medium, High, Ultra

and overrides the EngineConfig settings it lists. When matches exact values, and AtMost matches a grade or anything below it:

TierRule "Web" {
    When = { DevicePlatform = Web }
    Set = {
        "Rendering.Glimmer.Probes.Enabled" = false
    }
}

The Mobile rule, for example, turns off Glimmer, SSR, clouds, fog volumes, shadows and bloom.

To test another tier, force an axis from the command line with --devicetype, --deviceplatform or --devicegrade, like --devicegrade=Low.

Improve this page on GitHub