# Targets

When working with **targets** if you need to use **Invoker** this could be a problem on different situations this is the reason why **State Machines** have an auto-generated variable called **Invoker.**

To make your **State Machines** as much as re-usable as possible on some case you won't want to use **Player** as target.

## **Start Node Invoker**

Whitin a **Start Node** target type **invoker** can be used.

![](https://3895715781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LDchaEIEhpBAh2gCe06%2Fuploads%2Fgit-blob-27836c5e8212afc7933a0a4b4e3c85cee00f8355%2Fimage.png?alt=media)

{% hint style="info" %}
If **Start Node** has transitions to other nodes they will also be able to use the **Invoker** target.
{% endhint %}

## Trigger Targets

On some triggers like **On Tag Enter** the invoker would be whatever the object which triggered this.

![](https://3895715781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LDchaEIEhpBAh2gCe06%2Fuploads%2Fgit-blob-11ca14dbbfdb175d78e8696737382c919c7f27bf%2Fimage.png?alt=media)

When using triggers like **On Key Down** these type of triggers doesn't have an **Invoker**, so in this case you would need to use the **Invoker** variable from the **State Machine** or use any other **Variable** created with the **Blackboard.**

![](https://3895715781-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LDchaEIEhpBAh2gCe06%2Fuploads%2Fgit-blob-175501d56b0f90be7e57def436eba921b247ae82%2Fimage.png?alt=media)
