> For the complete documentation index, see [llms.txt](https://m-ahmed310.gitbook.io/fignet/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://m-ahmed310.gitbook.io/fignet/getting-started.md).

# Getting Started

## Setting up standalone server

Install .NET core template of FigNet from nuget.org (<https://www.nuget.org/packages/fignet.core.template>) or run command below in power shell

```bash
dotnet new --install fignet.core.template
```

Create a new project and Hit play.

![create a new project](/files/-MklA5frHnL4ORL_Ubnp)

![template structure](/files/-MklAoFD7wCX1x5fLQPi)

| Folders Structure |                                                         |
| ----------------- | ------------------------------------------------------- |
| lib               | Contains FigNet assemblies                              |
| Messages          | Contains network operations (messages) and handlers     |
| Misc              | Contains default logger, serializer and utility scripts |
| Modules           | Contains tell a joke module (added to server as plugin) |

## Unity Client

Create new a project and import [FigNet](https://assetstore.unity.com/packages/tools/network/fignet-207935) from asset store

* Go to Player Settings and set API Compatibility Level to **NET 4.x.**
* Open Demo scene (Assets/FigNetSample/Demo) and Hit play&#x20;

<div align="center"><img src="/files/-MklHMOUqE9rw-22P6py" alt="Available FigNet Providers"></div>

![Demo in action](/files/-MkldCDfFUkBpQTa5Isd)

![Project structure and Scene setup](/files/-MklifWMshwfYQCTwBdO)

1. **FigNetProviderLoader**.cs is used to load provider in above case LiteNetLibProvider
2. **ClientManager**.cs is the entry point of client application, it keeps IClientSocket running
3. **ConnectionManager**.cs it receives network events of IClientSocket by Implemention IClientSocketListner &#x20;

## Unity Embedded server

&#x20;Import FigNetCore.package in your project.

* Go to Player Settings and set API Compatibility Level to **NET 4.x.**
* Attach ServerManager.cs to empty gameobject&#x20;

{% hint style="info" %}
**ServerManager.cs:** creates a IServerSocket instance based on setting in ServerConfig.xml
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://m-ahmed310.gitbook.io/fignet/getting-started.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.
