Native iOS/Mac app that allows metaverse and game builders to offer an open and decentralized marketplace of 3D model NFTs where users can try their models live in their scenes before purchasing
This native iOS/Mac app allows metaverse and game builders to offer an open and decentralized marketplace of 3D model NFTs so that users can try out the models live in their game scenes and purchase. Why native? Building native apps allows for a better user experience and gives more control for developers over system resources and OS specific apis. This is very important for gaming applications. However, web3 and native apps do not work well. Infrastructure to connect and interact with the blockchain when doing mobile apps is lacking and UX is poor. This also results on very few native projects being built. Zora api is a great tool to bridge that gap, as it gives tools to query and access the blockchain without the need of directly connecting to it. The intention of this project is also to offer other native devs code and tools to deploy their own Zora powered marketplaces on their native apps, to encourage native buidling. Web3 needs more native experiences to gain mainstream adoption
This app was developed with native Swift code in XCode. A Unity project was integrated as part of the solution as a placeholder to show how the marketplace could be included in gaming projects (the unity project was not part of the hackaton scope and was set up earlier). On top of this Unity layer I developed in Swift a 3D rendering layer to place the 3D models extracted from the NFTs using SceneKit (native iOS/Mac api). On top of this layer I also developed a marketplace to search for NFTs that contain 3D models. This marketplace was developed with SwiftUI and the search is powered by Zora API. The search uses text based search query as well as filtering for collections (when the switch in the UI is enabled). The collections filter was added to ensure you are getting results with the defined metadata standard it is expecting. For the setup of GraphQL queries Apollo client was added