2 minutos de lectura
Resumen
web3.unity is a powerful open-source gaming SDK developed by the Chainsafe team. It lets you add blockchain functionalities to your games created on the Unity engine. In this guide, we'll learn how to configure web3.unity in your Unity editor, create your own blockchain dApp, and add NFT mint functionality in the web.unity game.
Configuración de web3.unity
Necesitaremos el editor de Unity y el complemento WebGL. Puedes descargar el editor de Unity a través de Unity Hub.
Asegúrate de instalar únicamente versiones LTS del editor de Unity y evita Unity 6.
Crea un nuevo proyecto del tipo que prefieras (2D o 3D) y, a continuación, accede al gestor de paquetes desde la pestaña «Ventana ». Haz clic en el botón «+» y selecciona «Añadir paquete desde una URL de Git...».

Pega la siguiente URL en el campo de entrada y haz clic en«Añadir». Durante la instalación, es posible que aparezca un mensaje pidiéndote que instalesWebGLThreadingPatcher; haz clic en «Sí» para instalarlo también.
https://github.com/ChainSafe/web3.unity.git?path=/Packages/io.chainsafe.web3-unity
Una vez instalado, aparecerá una ventana de configuración del servidor en la que podrás configurar tu proyecto.

Introduce datos como:
- ID del proyecto (crea un nuevo proyecto en el panel de control de Chainsafe Gaming)
- La cadena que quieres utilizar
- Introduce Quicknode » en la sección RPC para disfrutar de una conexión ininterrumpida a la cadena de bloques.
A continuación, cierra la ventana. Esta será la configuración de tu servidor durante todo el proyecto, y tu proyecto web3 estará listo en Unity.
Web3.unity viene con aplicaciones de ejemplo preinstaladas que puedes utilizar en tus proyectos. Para importar las aplicaciones de ejemplo, ve al gestor de paquetes y selecciona SDK de Web3.Unity; a continuación, ve a la pestaña «Ejemplos» y haz clic en «Importar».
Echemos un vistazo a un script para acuñar NFT en nuestro juego web3.unity.
Creación de un NFT
Utilizamos el siguiente script en la segunda mitad del vídeo para crear nuestros avatares
using UnityEngine;
using ChainSafe.Gaming.Evm.Contracts.BuiltIn;
using ChainSafe.Gaming.UnityPackage;
using Scripts.EVM.Token;
public class Erc721Mint : MonoBehaviour
{
// Variables
private string contractAddress = "0x4f75BB7bdd6f7A0fD32f1b3A94dfF409F5a3F1CC"; // web3.unity default contract for ERC-721
private string uri = "QmfUHuFj3YL2JMZkyXNtGRV8e9aLJgQ6gcSrqbfjWFvbqQ"; // Replace with your own token URI here
// Function
public async void MintErc721()
{
var response = await Web3Accessor.Web3.Erc721.Mint(contractAddress, uri);
var output = SampleOutputUtil.BuildOutputValue(response);
SampleOutputUtil.PrintResult(output, "ERC-721", nameof(Erc721Service.GetUri));
// You can make additional changes after this line
}
}
Echa un vistazo a más scripts de ejemplo de web3.unity en la documentación oficial de ChainSafe.
