Introduction to Unity
Unity is a platform for creating 3D games. It includes a rendering engine, a programming console built in C-Sharp, and a deployment API. It is particularly popular for iOS and Android mobile game development and is considered easy to use for beginner developers and is popular for indie game development. It also has a Web based component with OpenGL + GLSL library, which is what Decentraland uses with Unity, for example. (https://github.com/decentraland/unity-renderer )
It deploys games to Android and Apple stores, with Android being dominant.
Unity gives users the ability to create games and experiences in both 2D and 3D, and the engine offers a primary scripting API in C-Sharp for both the Unity editor in the form of plugins, and games themselves, as well as drag and drop functionality. Within 2D games, Unity allows import of sprites and a 2D world renderer.
Unity is cross-platform. For 3D games, Unity allows specification of texture compression, mipmaps, and resolution settings for each platform that the game engine supports, and provides support for bump mapping, reflection mapping, parallax mapping, screen space ambient occlusion (SSAO), dynamic shadows using shadow maps, render-to-texture and full-screen post-processing effects.
Two separate render pipelines are available, High Definition Render Pipeline (HDRP) and Universal Render Pipeline (URP), in addition to the legacy built-in pipeline.
All three render pipelines are incompatible with each other. Unity offers a tool to upgrade shaders using the legacy renderer to URP or HDRP.
Unity 2020 LTS officially supports the following platforms:
Mobile platforms
iOS
Android (Android TV),
tvOS
Desktop platforms
Windows
Mac
Linux
Web platform
WebGL
OpenGL
Console platforms
PlayStation (PS4, PS5), Xbox (Xbox One, Xbox Series X/S), PS VR
Nintendo Switch, Stadia;
Virtual/Extended reality platforms Oculus,
Google ARCore, Cardboard
Apple's ARKit, Windows Mixed Reality
Magic Leap
Unity XR SDKSteam VR
Caduceus XR
Since Unity is programmed in C-Sharp, we need the .NET Framework in order to code and compile.
Furthermore, to access EVM compatible blockchains through .NET, we need the Nethereum library.
Before connecting to Unity to Caduceus, we need to know how to connect a C Sharp based environment to an EVM compatible blockchain. For this purpose, we will use the Nethereum library that allows Web 3 functionality within C Sharp.