# Implement Classes In-Game

{% hint style="danger" %}
Currently the In-Game implementation has not been renamed, so you will see 'Character' in a lot of our functions.
{% endhint %}

## Create Character

Create a Character based on a Base Class.

{% tabs %}
{% tab title="Unity" %}

```csharp
string characterTypeID = "5";
string characterName = "Mage";

LootLockerSDKManager.CreateCharacter(characterTypeID, characterName, true, (response) =>
{
    if (!response.success)
    {
        Debug.Log("Could not create Character");
        return;
    }

});
```

To see what data gets returned, please refer to our [Reference Documentation](https://ref.lootlocker.com/game/api-5291443).
{% endtab %}

{% tab title="Unreal" %}

<figure><img src="/files/kPgyX7tRMoF4FcxxQHE7" alt=""><figcaption><p><a href="https://blueprintue.com/blueprint/-naacq2r/">Blueprint example of Creating a Class</a></p></figcaption></figure>
{% endtab %}
{% endtabs %}

## Update a Character

Update a Character's name or default setting.

{% tabs %}
{% tab title="Unity" %}

```csharp
string characterID = "5";
string characterName = "Mage";

LootLockerSDKManager.UpdateCharacter(characterID, characterName, true, (response) =>{

    if (!response.success)
    {
        Debug.Log("Could not update Character");
        return;
    }

});
```

To see what data gets returned, please refer to our [Reference Documentation](https://ref.lootlocker.com/game/api-10039307).
{% endtab %}

{% tab title="Unreal" %}

<figure><img src="/files/AYt6TlLufoTeWbhUW46R" alt=""><figcaption><p><a href="https://blueprintue.com/blueprint/hx54d9an/">Blueprint example of Updating a Class</a></p></figcaption></figure>
{% endtab %}
{% endtabs %}

## List Class Types

List all Class types and their Default Loadouts.

{% tabs %}
{% tab title="Unity" %}

```csharp
LootLockerSDKManager.ListCharacterTypes((response) =>
{

    if (!response.success)
    {
        Debug.Log("Could not list Character types");
        return;
    }

});
```

To see what data gets returned, please refer to our [Reference Documentation](https://ref.lootlocker.com/game/api-5291441).
{% endtab %}

{% tab title="Unreal" %}

<figure><img src="/files/9fZUL2n38dmBtsAqUcnN" alt=""><figcaption><p><a href="https://blueprintue.com/blueprint/brhpc7rz/">Blueprint example of Listing Class Types</a></p></figcaption></figure>
{% endtab %}
{% endtabs %}

## List Player Classes

List all Characters associated to a player. If your game uses Heroes, the Characters underlying the Heroes will be listed too.

{% tabs %}
{% tab title="Unity" %}

```csharp
LootLockerSDKManager.ListPlayerCharacters((response) =>
{
    if (!response.success)
    {
        Debug.Log("Could not list Characters");
        return;
    }

});
```

To see what data gets returned, please refer to our [Reference Documentation](https://ref.lootlocker.com/game/api-5291442).
{% endtab %}

{% tab title="Unreal" %}

<figure><img src="/files/hvoKTAeJhW8ZSALZuF5j" alt=""><figcaption><p><a href="https://blueprintue.com/blueprint/einioki8/">Blueprint example of listing all Player classes</a></p></figcaption></figure>
{% endtab %}
{% endtabs %}

## Get Class Loadout

This call will return all Character Loadouts, and have some additional information on the Characters.

{% tabs %}
{% tab title="Unity" %}

```csharp
LootLockerSDKManager.GetCharacterLoadout((response) =>
{
    if (!response.success)
    {
        Debug.Log("Could not list Character loadouts");
        return;
    }

});
```

To see what data gets returned, please refer to our [Reference Documentation](https://ref.lootlocker.com/game/api-5291444).
{% endtab %}

{% tab title="Unreal" %}

<figure><img src="/files/JioiA1il5A7aCOY6S6H8" alt=""><figcaption><p><a href="https://blueprintue.com/blueprint/8gz74522/">Blueprint example of getting a Class loadout</a></p></figcaption></figure>
{% endtab %}
{% endtabs %}

## Get Other Players Character Loadout

Retrieve the Loadout of another player's Character Class.

{% tabs %}
{% tab title="Unity" %}

```csharp
string playerID = "10";
LootLockerSDKManager.GetOtherPlayersCharacterLoadout(playerID, (response) =>
{

    if (!response.success)
    {
        Debug.Log("Could not get other players loadout");
        return;
    }

});
```

To see what data gets returned, please refer to our [Reference Documentation](https://ref.lootlocker.com/game/api-10043142).
{% endtab %}

{% tab title="Unreal" %}

<figure><img src="/files/ClH0tPbuFu3tfCKMT9nH" alt=""><figcaption><p><a href="https://blueprintue.com/blueprint/fv1qvtdi/">Blueprint example of getting other players Class loadout</a></p></figcaption></figure>
{% endtab %}
{% endtabs %}

## Equip Asset to Default Class

Equip an Asset to the default selected Character Class.

{% tabs %}
{% tab title="Unity" %}

```csharp
string assetID = "15120";
LootLockerSDKManager.EquipIdAssetToDefaultCharacter(assetID, (response) =>
{
    if (!response.success)
    {
        Debug.Log("Could not equip asset");
        return;
    }

});

```

To see what data gets returned, please refer to our [Reference Documentation](https://ref.lootlocker.com/game/api-10070129).
{% endtab %}

{% tab title="Unreal" %}

<figure><img src="/files/r2NvpXxtHA9jreRc033F" alt=""><figcaption><p><a href="https://blueprintue.com/blueprint/i2bydlbg/">Blueprint example of equipping an Asset to the Default Class</a></p></figcaption></figure>
{% endtab %}
{% endtabs %}

## Equip Asset to Class

Use this API call to equip an Asset to a specific Base Class.

{% tabs %}
{% tab title="Unity" %}

<pre class="language-csharp"><code class="lang-csharp">string characterID = "10";
string assetID = "15120";
<strong>LootLockerSDKManager.EquipIdAssetToCharacter(characterID, assetID, (response) =>
</strong>{
    if (!response.success)
    {
        Debug.Log("Could not equip asset");
        return;
    }

});
</code></pre>

To see what data gets returned, please refer to our [Reference Documentation](https://ref.lootlocker.com/game/api-5291445).
{% endtab %}

{% tab title="Unreal" %}

<figure><img src="/files/XCToqv6Bq72InoC1hzPb" alt=""><figcaption><p><a href="https://blueprintue.com/blueprint/v6_9dybw/">Blueprint example of Equipping an Asset to a specific Class</a></p></figcaption></figure>
{% endtab %}
{% endtabs %}

## Unequip Asset from Default Class

Use this API call to unequip an Asset from the default selected Base Class.

{% tabs %}
{% tab title="Unity" %}

```csharp
LootLockerSDKManager.UnEquipIdAssetToCharacter(assetID, (response) =>
{
    if (!response.success)
    {
        Debug.Log("Could not unequip asset");
        return;
    }

});
```

To see what data gets returned, please refer to our [Reference Documentation](https://ref.lootlocker.com/game/api-10070132).
{% endtab %}

{% tab title="Unreal" %}

<figure><img src="/files/ZYfuZHLz8k79ccWYJVVx" alt=""><figcaption><p><a href="https://blueprintue.com/blueprint/l2cauhzc/">Blueprint example of Unequipping an Asset from the Default Class</a></p></figcaption></figure>
{% endtab %}
{% endtabs %}

## Get Equippable Contexts to Default Class

List the contexts that the default Base Class can equip.

{% tabs %}
{% tab title="Unity" %}

```csharp
LootLockerSDKManager.GetEquipableContextToDefaultCharacter((response) =>
{
    if (!response.success)
    {
        Debug.Log("Could not get equippable Contexts");
        return;
    }

});
```

To see what data gets returned, please refer to our [Reference Documentation](https://ref.lootlocker.com/game/api-10032514).
{% endtab %}

{% tab title="Unreal" %}

<figure><img src="/files/UE6wvrA3cY0KaaSzfqIG" alt=""><figcaption><p><a href="https://blueprintue.com/blueprint/07jtx6vx/">Blueprint example of getting the Equippable Contexts</a></p></figcaption></figure>
{% endtab %}
{% endtabs %}


---

# 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.lootlocker.com/game-systems/classes-and-heroes/how-to/implement-classes-in-game.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.
