> For the complete documentation index, see [llms.txt](https://cowsinss-organization.gitbook.io/save-and-load-add-on/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cowsinss-organization.gitbook.io/save-and-load-add-on/how-to-use-and-guides/loading-custom-data.md).

# Loading Custom Data

Whether you’ve saved your custom object data using the Simple or Advanced Method, your data will now be loaded and assigned automatically, with **no extra effort required on your part**!&#x20;

Let’s consider a Door as an example. After interacting with the Door (interacted = true), you saved the interaction value (remember,`interacted` property from Interactables are automatically saved once interacted with). When you load your game, the interacted value will be set to true as expected. However, visually, the door will remain closed. This happens because we need to make a visual change to show that the door has been interacted with. To achieve this, we’ll use the `LoadedState()` method from `Identifiable` class.

{% hint style="info" %}
LoadedState is called after loading
{% endhint %}

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

<pre class="language-csharp"><code class="lang-csharp">// Open or close the door based on whether it is interacted or not
<strong>// InteractedState is called after loading
</strong>public override void LoadedState()
{
    if (interacted)
    {
        doorPivot.position = initialPos + offsetPosition;
        doorPivot.localRotation = Quaternion.Euler(new Vector3(doorPivot.localRotation.x, openedDoorRotation * side, doorPivot.localRotation.z));
    }
    else
    {
        doorPivot.position = initialPos;
        doorPivot.rotation = closedRot;
    }
}
</code></pre>

{% endtab %}

{% tab title="Base Code" %}

<pre class="language-csharp"><code class="lang-csharp"><strong>// LoadedState is called after loading
</strong>public override void LoadedState()
{
}
</code></pre>

{% endtab %}
{% endtabs %}

Here, after loading the interacted value, `LoadedState()` is called. To visually show that the door is indeed open, we update the door visuals.

This way, you can perform custom behaviours after loading the data of a custom object.
