> For the complete documentation index, see [llms.txt](https://docs.otherside.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.otherside.xyz/odk-docs/characters/making-avatars-available-in-the-otherside.md).

# Making Avatars Available in the Otherside

After you have made all the 3D assets for an avatar collection there are four steps to follow to make them available for your holders 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
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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.otherside.xyz/odk-docs/characters/making-avatars-available-in-the-otherside.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
