New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Interoperable 3D Assets with the MONA Wallet SDK - HackFS 2024

ETHGlobalWed, Oct 9, 2024, 12:00 AM

Join us for a workshop with Ryan Green titled, "Interoperable 3D Assets with the MONA Wallet SDK." In this workshop, Ryan will will be using MONA's new C# SDK to import interoperable 3d assets into a game experience at runtime using Unity game engine. The MONA Wallet SDK gives players the ability to import the 3d contents of their Web3 wallet into a game or metaverse experience. Developers are now able to give players the ability to control avatars they own, customize mechanics based on player owned 3d objects and traits, and modify the environment based on player owned spaces. Join us as we imagine an interconnected metaverse where players and creators own the future. This workshop is part of HackFS 2024, an async. online hackathon that takes place May 17 – June 7, 2024. ----------------- Follow us: https://x.com/ethglobal Check us out: https://ethglobal.co​m Email us at: hello@ethglobal.com

Transcript

[Music] he's going to be uh talking to you a little bit about the SDK um and with that I'll pass it on to Ryan well hello everybody thanks for joining us um my name is Ryan I work for Mona I have been an indie game developer uh mostly in unity for the last oh gosh 15 years or so um I recently joined Mona back in November and my focus on the team um along with uh my other fellow game developer Alejandro um has been focusing on building tools uh to help um uh build uh an open metaverse and what we're focused on Mo on at Mona is building an open metaverse and um that that requires tools that um allow um us as developers and players to connect the things that we have in our web three wallets together um into uh multiple metaverse locations right um and so with an open metaverse there's lots of different ways that you can come in whether that be through um a mobile app or through um a a desktop app or through a website um and so right now we're focused on building out uh a SDK um I'm going to share my screen here and this is a very early um Alpha of n STK that we're building to that will allow um developers and players to use what's the 3D objects that are in their wallets um in different experiences and so to start off with if you're or if you are uh have joined the hackathon and um you've looked at our bound and you want to join us um you can go ahead and visit this GitHub uh github.com monoverse Monona wall- Unity for an early Peak at um the SDK that we're building um I'm going to spend the next half hour um kind of getting into the code and showing you how uh to integrate this SDK into your new or existing Unity project and uh with that we'll get started um so this uh Mona wallet SDK has uh this read me will lead you through the setup um we'll jump right into Unity um but uh just to let you know uh I and um other Mona developers are in the Discord on the eth global Discord um and I believe the channel is partner D Mona and so if afterwards um you have any questions that you happy to help if you have any issues I'd be happy to help as well so um to get started we're building in uh Unity 2022 um I am using uh let's see can't see my screen here uh 20223 23 and uh we are using a uh a wallet connect to be able to connect your wallet via QR code and we are um once you connect via your QR code uh then you take that verified wallet address and send it to our SDK for authorization and then once you get authorized there we'll be able to send you um uh the contents of your wallet so um the Moto wallet uh SDK uses wallet connect right now and since we're connecting ing to a wallet we've used the we've embedded the wallet connect SDK and so um in order to download that you can go to the the releases uh Channel and that will be like the latest release you can come down here download a Unity package um that's built uh this is the tab um the actions tab uh each of these PRS doesn't Auto build and so if you go into actions go into the latest commit then you can find the package here so we'll download this package which is auto built um upon commit and like I said this is very early we will be rapidly changing this but at least for the purposes of this hackathon you'll be able to use it there so um uh file you double click on this to open your zip and then um you have your Unity package here so what we'll do is we'll start with uh presumably an empty scene um or an empty uh Unity project uh use at least 2022 317 I believe I think that's the LTS version um I'm using a more recent version for other reasons um and then after that you take your download and you drag this into your project folder drag it into a project folder we'll ask you to import and go ahead and import um if along this demo you guys have any questions uh just raise your hand and the host will uh pass them on to me I believe um or ask them in the chat and I'll try to answer as I go so uh import which should import everything into a let's see thanks into a monoverse folder um oh this monoverse folder oops I didn't want to do that let me do that again import okay I want to this one okay this uh monoverse folder um has our core SDK um as well as an example file and uh this example file you can open up a um a scene that uh will give you sample code for connecting to the SDK and authorizing this is uh kind of a more comprehensive um example um about how to listen to the events that come off of the SDK as well as like interact with UI and such uh we'll be doing a slightly simpler one as we go here uh so I going to delete this hopefully fix the compiler yeah okay all right so that's uh importing the SDK you import it in it creates a monoverse subfolder um the the 3D objects that we integrate with are glbs and uh or gtfs and uh gltf is a universal format um kind of like fbx or um USD from Apple uh glb uh is less vendor specific um and it's a standard that's um supported by the cronis group and so we're starting with glb and then uh glb with brm support uh so we will support avatars um objects uh or avatars and objects to start okay so um what that means is along with our SDK which will allow you to pull the contents of the user wallet you'll also need a gltf importer and a vrm importer um we use um internally as we're kind of developing some no code tools for this for these sort of experiences um we are forking the unity uh gltf um the unity gltf uh importer um I uh which is kind of the official Unity gltf importer of Kronos group and so I've uh forked it for some like additional experimental features for like no code Solutions so um this is the one that I'm using in the project um and this is listed in the open upm Package manager uh openm package manager is a way to bring non-asset store assets into Unity uh and so it's a package it's outside of the official Unity asset store so you'll find a lot of Open Source projects here um but here we have uh the Mona Unity gltf um and so in order to add these packages to a project you need to go into your Unity project go to edit project settings project settings has a package manager option right here and you notice that I've added a new repository and so this repository allows me in the package manager to import these tools so here um you would press add uh or press add to add a scoped registry and then fill out open upm uh https package. openen pm.com and then I am using prefixes for our Mona libraries as well as the vrm library we're using for importing uh avatars so after you enter that in close this window go to window package manager and in the package manager you select my Registries and um as well as the VM packages so what what I do here is click on unity gtf and press import and it should import both the VR uh the vrm Importer that uses uh uni uh glb uh gltf using

Automatic transcript — names and jargon may be misspelled.