> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nmentities.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Performance

> Tune NPC cost: activation range, behaviour interval and look interval in config.yml.

NPCs standing alone in empty parts of the world cost almost nothing: an NPC with nobody near its home is skipped entirely. Servers with hundreds of NPCs run fine on the defaults, and three knobs in `config.yml` let you tune the trade-off between smoothness and tick time:

```yaml theme={null}
npc:
  look-interval: 1
  behaviour-interval: 2
  activation-range: 48
```

All three apply on `/nme reload`, no restart needed.

## activation-range

The big one. An NPC with no player within this many blocks of its **home** is skipped entirely, at the cost of a single distance check. Measured from the home rather than the NPC itself, so it stays correct while a wandering NPC roams.

Set it comfortably above the furthest an NPC needs to notice you: following reaches 16 blocks, and wandering or chasing NPCs also range out to their own radius. `0` turns the optimisation off and ticks every NPC.

## behaviour-interval

How often an NPC re-decides where to walk, in ticks. The walking itself stays smooth between decisions, so raising this reduces decisions per second, not the smoothness of the movement.

## look-interval

How often heads turn, in ticks. `1` is every tick and smoothest; `2` is usually indistinguishable and halves the work. Above about `4`, head turns start to look steppy.

## What it's worth

Measured with 300 wandering, look-enabled NPCs in loaded chunks (Paper 26.2, server tick time, lower is better; about 0.9 ms of each figure is the NPC entities' own vanilla cost, which no plugin can remove):

|                                          | Tick time |
| ---------------------------------------- | --------- |
| Nobody in range                          | 0.96 ms   |
| Every NPC active (`activation-range: 0`) | 2.88 ms   |

NPCs nobody is near cost roughly nothing. Even with all 300 active at once, the load stays modest.
