# Github Installation

### Install the Correct Unity Version

The AnyMMO source code is a complete Unity project because it requires specific build settings, compiler settings, layers, and tags to function. Due to the way full projects are exported in Unity, they must be imported with the **same** Unity version they were exported with.

The correct Unity Version for the current github project is 6000.3.10f1 and can be downloaded from <https://unity3d.com/get-unity/download/archive>\\

### Download the Project From Github

AnyMMO is currently in beta, so be sure to clone the network branch at <https://github.com/AnyRPG/AnyRPGCore/tree/network>

Choose one of the download methods that GitHub offers.\
![](https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2FnhC8Kenxq0A4kPbN7z0D%2Fimage.png?alt=media\&token=f3fa166a-1b9f-4918-a55e-dac4b30b423e)

For example, you can clone the project into a directory on your computer if you have the git CLI installed using the command `git clone git@github.com:AnyRPG/AnyRPGCore.git`

![](https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2Fks5tbUXz4opo0sCXqQUd%2Fimage.png?alt=media\&token=4fde60de-10c8-418b-a75f-ee44fa4b0a50)

After cloning, checkout the network branch.

```bash
git checkout network
```

### Open Unity Hub and Add the Project

Open Unity Hub and select the *Projects* tab. Click *Open > Add Project From Disk.*

![](https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2FYbmtfss5vWHJw8Pgwfff%2Fimage.png?alt=media\&token=b23add7e-67a1-4a4d-8a22-dcc7cde3174b)

Find the project folder and choose *Add Project*.

![](https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2FMeABJ15glCQymi0gEwkE%2Fimage.png?alt=media\&token=75ad1381-fbbe-4b0a-9a91-2644441f8642)

### Open The Project

The project should now be visible in Unity Hub. Click on it to open it.

<figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2FQGOTsSmfY8pCdwwYUywa%2Fimage.png?alt=media&#x26;token=8174d282-9c9e-4d08-9102-cf6bf4b722c6" alt=""><figcaption></figcaption></figure>

When presented with the option, choose Ignore. This is necessary because AnyRPG relies on UMA and it's not included in the github project.

<div align="left"><img src="https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2FdDSzt7Z9G7TMQOE1aFbc%2Fimage.png?alt=media&#x26;token=faa36ebe-969e-4a84-8cf7-7535d122642d" alt=""></div>

Once the project opens, you will see errors in the console. These will be fixed in the next steps by installing FishNet and UMA.

![](https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2F7Zv0jvGku9DCgKzRpPnD%2Fimage.png?alt=media\&token=fa5390b5-8d1d-42a4-88c6-65ae7accb539)

### Install FishNet

Install FishNet from the Unity Asset Store: <https://assetstore.unity.com/packages/tools/network/fishnet-networking-evolved-207815>

If you don't already own FishNet, click *Add to My Assets*.

<div align="left"><figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2FbXQkHpc3AC8P20O5TYEF%2Fimage.png?alt=media&#x26;token=a019da85-4bb7-4d18-9dbe-ce99f8c19d75" alt=""><figcaption></figcaption></figure></div>

Click *Open in Unity*.

<div align="left"><figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2FXjX5ponkgB789ZiWXfnE%2Fimage.png?alt=media&#x26;token=5a692b84-fc6a-4208-97ef-e389f5279164" alt=""><figcaption></figcaption></figure></div>

The Unity Package Manager should open in Unity. If you have not downloaded the package yet, click *Download*. Then Click *Import*.

<div align="left"><figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2FKI7hFyA9el6NAiX9ZXeF%2Fimage.png?alt=media&#x26;token=85a48121-a856-4ef5-9f29-e708f47cd424" alt=""><figcaption></figcaption></figure></div>

When presented with the option, accept the defaults and click Import.

<div align="left"><figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2FL6axND4eNQwZgMim8Q0O%2Fimage.png?alt=media&#x26;token=a00c0c4c-7eb4-41eb-bf75-58351f804dba" alt=""><figcaption></figcaption></figure></div>

### Install UMA 2

Install UMA 2 from the Unity Asset Store at <https://assetstore.unity.com/packages/3d/characters/uma-2-unity-multipurpose-avatar-35611>

If you don't already own UMA, click *Add to My Assets*.

<div align="left"><img src="https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2FqKcAL8bqaTRvMbNbhZ33%2Fimage.png?alt=media&#x26;token=3726c83c-8831-4aca-956b-6a420c0b1146" alt=""></div>

Click *Open in Unity*.

<div align="left"><img src="https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2FkSVUznCTQ7c2fqv0w4Ta%2Fimage.png?alt=media&#x26;token=97a4f823-170d-48d9-841a-8837d4b607a4" alt=""></div>

The Unity Package Manager should open in Unity. If you have not downloaded the package yet, click *Download*. Then Click *Import*.

<div align="left"><figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2FEMtnTUZz3CETzk6lB9gB%2Fimage.png?alt=media&#x26;token=a732f917-41e3-4640-9a87-ed82fe1bedcf" alt=""><figcaption></figcaption></figure></div>

When presented with the option, accept the defaults and click Import.

<div align="left"><img src="https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2F4dtSoRcQGSRSsZrq2gjk%2Fimage.png?alt=media&#x26;token=e2d9cdba-c59b-4861-9f27-568f136ebb54" alt=""></div>

#### Unity 6.3 Note

Due to breaking changes in Unity 6.3, there are some manual steps to complete after UMA 2 installation.  A new UMA is in development which addresses these, but if you are using UMA 2.14f6 you must take these steps.  First, you will see an error.<br>

<figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2FHj2NKfH99UGhpp85bGBh%2Fimage.png?alt=media&#x26;token=e454107a-0585-4194-b6fc-fc72e729f5b9" alt=""><figcaption></figcaption></figure>

Fix the error by double clicking on it to open the file.  Remove the `SerializeField` line and save the file.<br>

<figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2F2RXy0P0kRDxfQXYIN8a2%2Fimage.png?alt=media&#x26;token=886185d0-0969-4878-84fa-edfc8ff03d24" alt=""><figcaption></figcaption></figure>

Next, even though all the errors are gone, you will receive errors if you try to compile due to old shader code. Use the following fix.  Go to **Tools > UMA > Patch Fresh Install (Unity 6.3)**

<figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2FyGV7WXWZjk0sCz8TqMqr%2Fimage.png?alt=media&#x26;token=bc1678e2-f33f-412e-8326-56ef92c521a3" alt=""><figcaption></figcaption></figure>

After the patch runs, the shaders should be fixed. Follow the directions, and re-import the Assets/UMA/Core/ShaderPackages folder.<br>

<figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2FKFbrueNihj1ryuNODpur%2Fimage.png?alt=media&#x26;token=91163735-0ab4-41b9-927c-6f463192afe3" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2FhxPARIMRkTn1r9nN3HLL%2Fimage.png?alt=media&#x26;token=045c2a0c-ad58-4907-9fd2-298b5e55867d" alt=""><figcaption></figcaption></figure>

After the UMA package is imported, click Clear in the Console pane to clear any old warnings.

<div align="left"><img src="https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2FgeipdZLQHSzrU4Khg6QF%2Fimage.png?alt=media&#x26;token=93ab5a47-17ed-4e78-ac59-bb9ac574a9a9" alt=""></div>

You should no longer see any errors.

<div align="left"><img src="https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2FT86gYvjsKrcqBd9zvagV%2Fimage.png?alt=media&#x26;token=a43708ce-cfea-45df-806f-b764021113f7" alt=""></div>

Open the UMA Global Library Filters window.

<div align="left"><figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2FxhOz3TDJwJq2cZu2lrOn%2Fimage.png?alt=media&#x26;token=5fc142e4-bcee-44c1-b64a-b04e3bd73f18" alt=""><figcaption></figcaption></figure></div>

Remove the UMA Global Library Filters so that when the library is rebuilt, it indexes all UMA assets in the project.

<figure><img src="https://2604876524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpmjTkUEr4q2ZSMPo7wV9%2Fuploads%2FHRu7CCtVoZBrR26wSfGJ%2Fimage.png?alt=media&#x26;token=876c731b-85fe-4a27-be8e-f83c57941a26" alt=""><figcaption></figcaption></figure>

Finally, rebuild the UMA Global Library. Choose from the main menu bar *UMA > Global Library*.

<div align="left"><img src="https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2FToWR8uNQEz7tQPGJBa53%2Fimage.png?alt=media&#x26;token=6238d116-b8de-4873-ad4b-5142868fc068" alt=""></div>

In the Global Library window, choose *File > Rebuild From Project*.

<div align="left"><img src="https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2FP8AUYTRArEHpExjR8G28%2Fimage.png?alt=media&#x26;token=37ddff72-dcfe-4520-9b62-141e72588da3" alt=""></div>

### Install TMP Essental Resources

Open the Window menu in Unity and choose *TextMeshPro > Import TMP Essential Resources*.

<div align="left"><img src="https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2FKiUo86miaXwdIqI1coAi%2Fimage.png?alt=media&#x26;token=f5ff4d2a-47c9-400e-8a62-7f223256c78b" alt=""></div>

When presented with the option, accept the defaults and click **Import**.

<div align="left"><img src="https://2976860065-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx7Nd93HqSNPpv2JhrViE%2Fuploads%2FknPpk73NcsTA92m42GQH%2Fimage.png?alt=media&#x26;token=8ce3880e-7c10-45b4-9491-c2111ca02e5c" alt=""></div>

### Next Steps

Congratulations, AnyMMO is now ready to use!

From here you can explore the included sample games or get started creating your own game.
