1. XSOverlay
  2. News

XSOverlay News

Build 667 - System Monitor UI 3.0, Websocket API and more!

[h3]Developer Note[/h3]
Hi all. This is a fairly large update under the hood, lots of bug fixes and QoL improvements. Something to note here is that while this changelog is fairly large, I may have missed some stuff!

Next on my list of overhauls is the Layout system...

Anyways, hope the update is good. See you again soon with more on the beta branch :)

[h3]Changes[/h3]
  • System Performance Monitor has finally received it's much needed UI 3.0 update!

    This includes a lot of back end changes to the performance monitor that overhauls the logic of how it polls, and makes numbers as accurate as they can be.

    Thank you to the FPSVR developer for helping out with the math here, my numbers should now be roughly the same!


  • Websocket API is now public and can be used by third party applications. Documentation for developers can be found here! Keep in mind that the Websocket API will be updated in the future further when Webapp support is added! Right now, it contains only the things I needed to get the UI to function so far.

  • NodeJS has been removed in favor of C# file hosting for UI page elements. This should increase stability across the board and prevent false antivirus flags from the NodeJS server being spun up.

  • Notifications can now be sent through websocket API. This is the recommended way to send a notification now, as the UDP will not be updated in the future (it will remain for compatibility reasons in its current state, however.

  • Smart Roll has been overhauled to allow for laying down and looking straight up -- this is a change that should make the overlay not spin around like a beyblade in this scenario.

  • Battery Widget on the Wrist now shows HMD battery information, if the HMD supports it. (Quest2, Quest3, Quest Pro, Pico, Etc.)


[h3]Bug fixes[/h3]
  • Fixed an issue where sometimes the Window Settings menu would not show the correct window.

  • Fixed an issue where the mouse cursor would never be visible on desktop captures.

  • Fixed an issue where WMR headsets were not able to use Input Blocking.

  • Fixed an issue where the Wrist overlay would not save its position and scale properly.

  • Fixed an issue where the performance monitor would show the integrated gpu on systems that have both an iGPU and dGPU.

  • Fixed an issue that would cause the UI to render font in Times New Roman.

  • Fixed an issue that could cause stuttering when the performance monitor was open.

  • Fixed a bug that would cause a hard crash when sending a low battery notification. (threading moment.)

  • Fixed an issue where enabling High Contrast Mode in windows would destroy the UI in XSO.

  • Fixed an issue where sometimes the cursor would not properly interact with the desktop on the first instance of an overlay being created after a fresh start.

  • Fixed a security flaw with the Websockets API that allowed non local connections to send commands. Non local connections are now limited to a subset of commands.


[h3]Misc[/h3]
  • Lots of backend changes to file structure to prepare for UI theming workshop support.

[Beta] [Release Candidate] Build 666 Changelog

[h3]Changes[/h3]
  • Added support for HMD battery life on Wrist Battery Widget, if running through Virtual Desktop or through Steam Link, and the HMD properly sends battery information. (Quest 2, Quest 3, Quest Pro)

  • Smart Roll has been tweaked so that you can lay down while moving the overlay above you without it freaking out.

  • CPU Temperature monitor has been removed due to Windows security limitations and the fact that accessing that data can cause anti-cheat (EAC, Vanguard, etc) to falsely flag XSO and close your game. It may be added back in the future as a toggle for those who wish to deal with getting kicked out of their games randomly.


[h3]Bug fixes[/h3]
  • Fixed an issue where sometimes the cursor would not properly interact with the desktop on the first instance of an overlay being created after a fresh start. (hopefully)

  • Fixed an issue where enabling High Contrast Mode in windows would destroy the UI in XSO.

  • Fixed an issue where GPU memory would be incorrect if you also had an integrated GPU.


[h3]Misc[/h3]
  • none this time :)

[Beta] [Release Candidate] Build 664 Changelog

[h3]Changes[/h3]
  • None this time !!!!


[h3]Bug fixes[/h3]
  • Fixed an issue where XSOverlay would crash when attempting to send a low battery notification.


[h3]Misc[/h3]
  • none this time :)

[Beta] [Release Candidate] Build 663 Changelog

[h3]Changes[/h3]
  • Optimized device polling to hopefully prevent stutters when a device's battery and connection information get polled.


[h3]Bug fixes[/h3]
  • Fixed some misspellings in the Websocket API return objects.
    - RunningBatterySecondsPerPecent -> RunningBatterySecondsPerPercent
    - Manufacterer -> Manufacturer


[h3]Misc[/h3]
  • none this time :)

[Beta] Build 659 Changelog

[h3]Changes[/h3]
  • Adjusted frametiming / FPS to be the average of all frames between the last poll and the current poll, rather than just the most recent frame. This should result in a more accurate and a more stable framerate reading over time, rather than being super jumpy like it was before.

  • Updated Localization files. Remember, if you'd like to contribute to localization, you can do so on CrowdIn!


[h3]Bug fixes[/h3]
  • Fixed an issue where the Window Settings menu would not properly show the currently selected window at the bottom.

  • Fixed an issue where the mouse cursor would never be visible on desktop captures when using the Emulate Mouse Input Method.

  • Fixed an issue where sometimes the cursor would not work on the first window created. (i think)

  • Fixed an issue where Windows Mixed Reality HMDs were not able to use Input Blocking.

  • Fixed an issue where the Wrist Overlay would not save it's position properly.

  • Fixed an issue where the Wrist Overlay would not save it's scale properly.

  • Fixed an issue where AMD GPUs would not be able to see the total usage of their VRAM on the performance monitor. (this is only a partial fix. It will show the correct number, but will not show a correct bar in some cases, as the VRAM total is not available through the library I'm using for AMD cards.)

  • Fixed an issue where the performance monitor would show the integrated graphics card on systems that have both an iGPU and dedicated gpu.


[h3]Misc[/h3]
  • none this time :)