I have created a game that connects to a web3 wallet (Metamask).
Cygnus Zero is a browser game where players can gain access to different characters by owning certain NFTs on the Polygon Network. All players have access to one default character, but you must own NFTs from a specific contract to unlock more. In order to check for the NFTs, players can log in to Metamask or another Web3 wallet.
I used the Unity game engine to create the project. It's a WebGL build that allows users to play in the browser. The NFTs were created on the Polygon network using NFTPort's API. I am connecting to the blockchain using Moralis' javascript API. This was a struggle to implement, as I had to constantly create new builds with Unity to test new features. This often meant I had to wait 30 minutes while the editor was locked up.