> For the complete documentation index, see [llms.txt](https://ferdowsur.gitbook.io/3d-ranks/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ferdowsur.gitbook.io/3d-ranks/rank/icon.md).

# Icon

The center piece of a Rank

## Preview

{% embed url="<https://youtu.be/Idek-3Zruy0?si=fH4uuDeU8TcOIzWQ>" %}

10 icons can animate from any state to anything else. You can also [create your own icon](/3d-ranks/rank/icon/create-new-icon.md).

Most of them use 1 material, but the last one uses two materials.

## Inspector

In the Customization Tab, you can edit the icon and apply materials with an animated preview in play mode.

<figure><img src="https://96267253-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWP4h0q7qUXVTnCbRAstH%2Fuploads%2FJT0l54mSIFUhwZ7XGxlF%2FIcons%20Inspector.png?alt=media&amp;token=d64ebec2-bc08-4ee8-849c-54afab060d9f" alt="" width="563"><figcaption><p>Icon Inspector in Customization Tab</p></figcaption></figure>

In the ranks tab, for each rank, you can quickly modify the icon and material, too. You can also adjust animation delays and add sound effects for that rank here, too.

<figure><img src="https://96267253-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWP4h0q7qUXVTnCbRAstH%2Fuploads%2FFDvLpTzRPFfTxRympcTj%2FIcons%20Inspector%20in%20Ranks%20Tab.png?alt=media&amp;token=7e30d81a-51b8-4b8b-ad0f-c34565ade13f" alt="" width="488"><figcaption><p>Quick Icon Inspector in Ranks List</p></figcaption></figure>

## Script Reference

You can use the SetIcon method to modify the icon via code or buttons.

```csharp
ranksAnimationController.SetIcon(i);
```

<table data-full-width="true"><thead><tr><th width="315.6666666666667">Method</th><th>Description</th></tr></thead><tbody><tr><td><pre class="language-csharp"><code class="lang-csharp"><strong>ApplyRank(int index);
</strong></code></pre></td><td><p>Retrieves the rank from the ranks list at the specified index and applies it.</p><p><br>If an invalid index is passed, it logs a warning message and returns. Doesn't print an error.</p></td></tr><tr><td><pre class="language-csharp"><code class="lang-csharp"><strong>ApplyRank(string rankName);
</strong></code></pre></td><td>Applies a rank from the ranks list by its exact name.<br><br>If the rank is not found or the name is invalid, a warning is logged.</td></tr><tr><td><pre class="language-csharp"><code class="lang-csharp"><strong>ApplyRank(Rank targetRank);
</strong></code></pre></td><td>Applies the rank passed as parameter.</td></tr></tbody></table>
