> For the complete documentation index, see [llms.txt](https://docs.msquared.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.msquared.io/creation/unreal-development/features-and-tutorials/avatars/supporting-an-nft-avatar-collection.md).

# Importing an NFT Collection

In order to setup your NFT collection to work in experience, you will need to do the following steps:

1. Make the Avatar Assets for each NFT in MML
2. Host the MML and any GLBs needed in a public bucket
3. Reference the MML from the NFT

{% hint style="info" %}
**Note:** The ideal implementation will need access to change the NFT collections metadata, please reach out if this is not possible as we maybe able to setup a referral service.
{% endhint %}

## Making MML Avatars

All assets need to be in the GLB format and match our Skeleton, using the import pipeline we have setup. See [Creating MML Avatars with Blender and Free Rigging Tools](/creation/unreal-development/features-and-tutorials/avatars/creating-mml-avatars-with-blender-and-free-rigging-tools.md) for the correct skeleton and format.

{% hint style="info" %}
From v21 of the platform, we also support [DRACO](https://google.github.io/draco/) compressed glTFs and GLBs
{% endhint %}

To make a collection made up of individual traits, you can either "bake" the GLB, or you can rig the parts of the NFT to use the same skeleton, and use MML to compose them into a unique Avatar.

```json
<m-character src="https://cylinderfolk.xyz/glb/body4.glb">
	<m-model type="Head" src="https://cylinderfolk.xyz/glb/head2.glb"></m-model>
	<m-model type="Hat" src="https://cylinderfolk.xyz/glb/hat5.glb"></m-model>
</m-character>
```

## Reference the MML from the NFT

{% hint style="danger" %}
**Note:** We will need to add your collection to an allow-list so let us know if you plan to add it
{% endhint %}

When we have user Web3 Wallet Connection enabled, we scan the NFTs owned by the Wallet and look for an MML link, and use this to add an Avatar to your collection. Include this by adding the relevant MML URL to the NFT definition, using the `mml` tag.

```json
{
  "attributes": [
    {
      "trait_type": "Head",
      "value": "Round"
    },
    {
      "trait_type": "Hat",
      "value": "Crown"
    }
  ],
  "image": "https://cylinderfolk.xyz/image/210.png",
  "mml": "https://cylinderfolk.xyz/mml/210.mml"
}
```


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.msquared.io/creation/unreal-development/features-and-tutorials/avatars/supporting-an-nft-avatar-collection.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
