Wallet-Based Authentication via MyMeta API
Challenge
To support the play-and-earn mechanics and integrate web3 functionality, we needed to implement a custom login system that connected players' in-game accounts to their crypto wallets using the MyMeta API. The system had to securely retrieve player-owned NFTs and use them to unlock in-game features.
The main challenge was on the server side, which was written in Java as part of the Atavism engine. We needed to override Atavism’s default login flow, which was not built for external authentication methods or blockchain integration. Additionally, the server-side documentation was limited, and understanding how to inject and override the login behavior required a deep dive into its internal structure
The biggest challenge was connecting all UI elements with Atavism’s backend systems. While Atavism provided MMO functionality (like inventory and stats), its documentation was limited, making it difficult to understand how to properly access and display this data within Unity’s UI system.
Solution
I implemented a custom login override on the Java server by:
- Analyzing Atavism's existing login handling to identify extension points and override mechanisms
- Creating a custom login handler that redirected players to an external MyMeta web page, where they logged in and generated a secure access token
- Once the token was returned to the server, the system validated it and used it to pull wallet and NFT data from the MyMeta API
- The player’s NFT holdings were then parsed and stored on the server, allowing the game to unlock specific gameplay utilities, rewards, or cosmetics based on ownership
Result
The final system allowed players to log in using their crypto wallets securely and seamlessly. It enabled us to tie NFT ownership directly to in-game progression and rewards, opening the door for personalized content, exclusive features, and a true play-and-earn loop. The successful server integration laid the groundwork for further blockchain-based features within the game.

