> 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/creating-a-custom-character/creating-a-simple-avatar-collection/material-setup-and-testing.md).

# Material Setup And Testing

In this section we will go through how to properly setup a material in blender such that it exports properly to the GLB.

There is extensive information in the Blender docs about this if you want to read more: <https://docs.blender.org/manual/en/4.5/addons/import_export/scene_gltf2.html>

The first step we want to take is opening up `Preferences`

<figure><img src="/files/2vMikPMdM77j92CMJ6hn" alt=""><figcaption></figcaption></figure>

Navigating to `Add-ons` and then `glTF 2.0 format` and enabling `Shader Editor Add-ons`

<figure><img src="/files/ksu3k1lNg85cLWdBtaTc" alt=""><figcaption></figcaption></figure>

This will allow us to export occlusion maps if we have them.

Switch to the `Shading` tab to begin making our first material.

<figure><img src="/files/Q7TJvRzTDIw761i6oInB" alt=""><figcaption></figcaption></figure>

Select a mesh in the viewport and click the `New` button on the top of the `Shader Editor` window to create a new Material. I am going to rename this material `BaseMaterial`.

<figure><img src="/files/c3A5BwqU8NgNaObXw0uq" alt=""><figcaption></figcaption></figure>

Let's add a new node `glTF Material Output` we won't need it immediately but we can get it setup now in case we need it in the future.

<figure><img src="/files/oKTGTzljIyVCcEVjcKR1" alt=""><figcaption></figcaption></figure>

Just to test how this works let's make this material chrome like.

* Adjust `Metallic` up to 1.0
* Adjust `Roughness` down to 0.1

<figure><img src="/files/23OhzvsighzNaBZEnXhB" alt=""><figcaption></figcaption></figure>

Then export the glb, run it through the avatar web tool and set the path in the ODK Unreal Editor to the newly downloaded GLB.

Boxie now has a chrome head!

<figure><img src="/files/N64W99xS5RcUMgRBKeNB" alt=""><figcaption></figcaption></figure>

Any specific material settings should be tested at this point to help inform what values any texture maps you create should follow.

#### Note about Transparency

Currently the avatar web tool removes any transparency from materials. If you want to use transparency you'll have to use the CLI tool that we will cover in the pipeline portion.

Transparency is pretty limited in game for avatars. There are two types that are supported.

* Dithered - well suited for decals or cutting holes in geometry.
* Blended - This can create semi-transparent materials however it does not support reflections so materials like glass are hard to recreate. Additionally there can be some Z-Buffer issues when using this method so if this is enabled the entire object that has this material applied to it should be expected to be transparent.

You can switch between these two settings in the Details panel in the Materials section in the dropdown `Render Method`

<figure><img src="/files/1MB5stczp5Tt6UvvOBym" alt=""><figcaption></figcaption></figure>


---

# 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.otherside.xyz/odk-docs/characters/creating-a-custom-character/creating-a-simple-avatar-collection/material-setup-and-testing.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.
