> For the complete documentation index, see [llms.txt](https://docs.allout.game/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.allout.game/using-the-editor/inspector.md).

# Inspector

The inspector pane allows you to make changes to any entity in your scene like changing its size or layer and adding components

At the top of the inspector, you have basic properties about the entity like its position and scale.

<figure><img src="https://3803321901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzA8RGUKJ88fD0oXVALlz%2Fuploads%2Fgit-blob-660a5ccc906e033b525e2a0873d975202c200906%2Fimage.png?alt=media" alt="Entity transform and components in the inspector"><figcaption></figcaption></figure>

Below the entity properties are all of the components you have currently added to that entity.

Each component can provide "fields" for you to edit. For example, Interactable components allow you to change their `Text` or `Radius` fields.

Your own custom components made with scripts can expose fields to the inspector as well. For example, you could make a tycoon purchase interactable with a field to change its price in the editor.

```go
Tycoon_Unlock_Button :: class : Interactable {
    @ao_serialize price: s64;
    is_unlocked: bool;

    ao_start :: method() {
        set_listener(this);
        set_text("Unlock");
    }

    can_use :: method(player: Player) -> bool {
        return !is_unlocked;
    }

    on_interact :: method(player: Player) {
        if !Economy.can_withdraw_currency(player, "Coins", price) return;

        Economy.withdraw_currency(player, "Coins", price);
        is_unlocked = true;
        set_text("Unlocked");
    }
}
```

Now when you add the `Tycoon_Unlock_Button` component to any entity, you can set a price for that entity to unlock.

Runtime-only fields such as `is_unlocked` are not shown unless they also use `@ao_serialize`.
