Game User Settings issues

Hello. I’m having trouble getting some Game User Settings functions to work for a Video Options menu. Testing mostly in Standalone Game but also tested in a packaged build. Problematic nodes:

  • Revert Video Mode
  • also tried Get Last Confirmed Screen Resolution as a workaround
  • Is Dirty

Scenario:

  1. After game starts, Get Game User SettingsConfirm Video ModeSave Settings - just to be sure that there ARE indeed some confirmed settings to revert to later
  2. When user clicks Apply, call Set Fullscreen Mode and Set Screen Resolution
  3. Check (Is Fullscreen Mode Dirty OR Is Screen Resolution Dirty) - at least this works and returns true if one of them changed
  4. Call Apply Resolution Settings (it’s the one that doesn’t save automatically)
  5. If 3. was true, show a timer with Confirm and Discard buttons. If something is wrong with the new display settings, the user can click Discard or wait for the timer to run out

Here’s the problem. When I try to revert, Fullscreen Mode gets reverted as expected***** (e.g. Windowed Fullscreen to Windowed) with either Revert Video Mode, or by using Get Last Confirmed Video Mode and setting it and applying. But as for resolution, Revert Video Mode does nothing, and Get Last Confirmed Screen Resolution returns the same as Get Screen Resolution, which is the new resolution that we’re tring to revert from, and not the previous one. This happens after setting and applying the new one, but NOT confirming it, neither saving.

The second problem is that Get Game User SettingsIs Dirty returns true when either of those were modified:

  • Fullscreen Mode
  • Screen Resolution
  • VSync

but doesn’t detect Scalability modifications. Is that intended? Thank you in advance.

***** Edit: turns out reverting Fullscreen Mode also seems partially broken:

  • this works: Windowed → FullscreenWindowed --(revert)–> Windowed
  • this doesn’t: FullscreenWindowed → Windowed --(revert)–> stays in Windowed

More. Both of those return 0x0: