# Making Avatars Available in the Otherside

## 1. Upload GLBs to a Publicly Available Location

To make avatars available to all your holders they must be publicly available. They will be downloaded from the storage controlled by you into the Otherside when a user requests an avatar.

## 2. Create and Upload MMLs to a Publicly Available Location

The MMLs contain some information about what to do with an the GLB. A simple MML that only points to a single GLB would look like:

```
<m-character src="https://fake-collection-api.io/glbs/1.glb"></m-character>
```

You should create 1 MML for each token in your collection.

## 3. Update collection metadata to include an MML Field

Each token needs to have an additional field in it's data call MML. For example if I had a fake collection called `Boxie` it might have metadata that looks like:

```json
{
        "id": 0,
        "name": "Boxie 0",
        "image": "https://fake-collection-api.io/images/token_id.jpg",
        "mml": "https://fake-collection-api.io/mml/token_id.mml",
        "attributes": [
            {
                "value": "classic box",
                "trait_type": "head"
            },
            {
                "value": "metallic purple",
                "trait_type": "upper"
            },
            {
                "value": "dark",
                "trait_type": "lower"
            }
        ]
    }
```

This is what allows Otherside games to pull in a users avatar that they have in their wallet.

## 4. Contact Yuga to Whitelist your Contract

Currently collections are added via a whitelist once steps 1-3 are complete we can review and add the contract address to our whitelist to make the avatars available for anyone who has them in their wallet.

Please fill out this form to initiate a review <https://www.otherside.xyz/avatars/intake-request>.

Once your form is filled out, please [join the Otherside discord](https://discord.gg/the-otherside) to open a ticket and we'll use that channel to relay any feedback.  If you do not open a ticket, we won't be able to integrate your collection into Otherside, so please make sure this step is completed.


---

# 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://docs.otherside.xyz/documentation/characters/making-avatars-available-in-the-otherside.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.
