# Non-static commands

## Adding non-static commands <a href="#non-static-commands" id="non-static-commands"></a>

Non-static methods or properties require an instance in order to be executed. Instances are found automatically behind the scenes, which means there is no additional setup required on your part.

```csharp
public class Player : MonoBehaviour
{
    private float currentHealth;

    [Command]
    public int Health
    {
        get => currentHealth;
        set => currentHealth = value;
    }
}
```

Typing `health 10` will execute on all instances of `Player` found in the scene.

Additionally, a name can be specified at the end of the input prefixed with `@`. Doing so will execute the command only on instances with the specified name.

The name is always specified at the end of the last required parameter. So for example, if we want to just print the value of a property instead of setting it, we could type: `health @MyPlayer`.


---

# 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.pentafloat.com/documentation/commands/non-static-commands.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.
