# Units.gg Mechanics

## Space Rendering

* Rendering for most visual aspects is done with React-Three-Fibre and all 2D elements are created using ReactJS. 3D assets are created using ThreeJS and GLTF Loader libraries are used for object loading. The physics, movement, and visual physics are made using ammo.js.
* Collision detection, Animations, Digital asset ownership, and other minor considerations are used to coordinate the in-game experience for both creators and users.

### Space Network&#x20;

* The Units.gg uses a mesh network to manage non-voice and video traffic sent and received by users. This extends to avatars, authentication links, space updates, user validation, and NFT applications.
* When a user attempts to connect to a room, they are connected to a load-balanced node on the mesh over web sockets.
* &#x20;Channels within the mesh (a mesh sub-system) are used to relay messages between users in a room. The messages are deployed via the simultaneous function of all the tools hosted on AWS EC2.

### Space Communication

* WebRTC handles all communication and media interaction, based on a selective forwarding unit. This topology sends user data to a central routing machine, which then distributes the data to all the users within the session/room.  &#x20;
* Users can enable or disable spatial audio, user audio control, and audio levels and this allows users to control the auditory experience within the space.\\
