# Developer Integration & SDK Support

Alliance Games provides an intuitive SDK that integrates seamlessly with the Unity 3D game engine. The SDK is fully compatible with **Netcode for GameObjects**.

### **SDK Abstraction and Multi-Language Support**

To ensure **platform independence**, developers can implement session logic in any programming language. The platform currently supports:

* **C# for Unity**
* **C++ for Unreal Engine**
* **JavaScript for Web Applications**

The SDK includes:

* **WebSocket transport layer** (default)
* Support for **UDP/TCP** in future releases
* A common module for **marshalling, forwarding, and connection handling**

The SDK is structured as follows:

* **Server Module**: Handles server-side communication and node interactions.
* **Client Module**: Manages client-side session logic and matchmaking.
* **Common Module**: Core logic for data exchange, independent of language.

Future versions will implement **native C-based functionality** to minimize overhead and improve performance across languages.

### **Propagation and Deployment Mechanism**

The system uses **Docker** for runtime isolation and execution. The process includes:

1. **Code Submission**: Developers upload session logic in a zipped format.
2. **Containerization**: The system verifies and packages the code into a Docker image.
3. **Health Check**: The image is tested in an isolated mode before deployment.
4. **Versioning & Storage**: The verified image is pushed to the registry.
5. **Network Distribution**: Nodes fetch and deploy images on demand.

Future plans include moving the Docker registry to a **decentralized storage system**, allowing further decentralization of game logic execution.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://alliance-games.gitbook.io/alliance-games-gitbook/multiplayer-network/developer-integration-and-sdk-support.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
