Until recently, I haven't been able to get it to show up while playing certain games, especially ones that require Origin.
Here's the fix that worked for me:
- Turn OFF Origin In-Game
- Close Origin
- Add Origin and Battlefield to Steam Library (Under Games>Add Non-Steam Game)
- Open Battlefield using the link in Steam (you may have to click it after again after Origin launches)
- While the game is running>Open Discord>User Settings>Overlay>Enable In-Game Overlay (assign a hotkey as well)
- Discord User Settings>Games>Make sure you see the game you want the overlay to work in and that it is activated.
- Close the game and then Reopen. If it worked you will see a discord prompt for the overlay with your hotkey selection to manage your channels. Press the hotkey again to only see the channel you are in.