Published on: 2024-01-05
Overlays like those used by Discord and Steam aren’t as simple as they seem. In Windowed mode, you can render above the game window, but in Fullscreen mode this is not possible. It seems the common solution is to write hooks for rendering APIs, but this poses multiple challenges.
First, you need to write a hook for each API you want to support. Tedious but achievable.
The bigger issue is that these hooks can be detected by anti-cheat software, and may be mistaken for cheats, and result in a ban. In fact, even major software like Discord has had incidents of user bans due to their overlay.
This creates a huge barrier to entry for any new software implementing an overlay. It seems that Discord, Steam, and other major companies are only able to do this because they have a large enough user base for anti-cheat developers to implement exclusions.