> For the complete documentation index, see [llms.txt](https://netick.gitbook.io/v1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://netick.gitbook.io/v1/rpcs-vs-properties.md).

# RPCs vs Properties

RPCs are usually used to replicate non-critical (often visual/cosmetic) events. In contrast, Network Properties are used to replicate critical gameplay state.

Network Properties are best when you have a variable that is constantly changing and whose exact value matters for the duration of the game, because properties will eventually replicate to everyone.

**Example: a health property.**

On the other hand, RPCs are only relevant at the time of their execution, meaning anyone joining after that will never know anything about any RPCs before it.

**Example: a damage effect event.**

If an event happens infrequently and is merely visual (doesn’t affect gameplay, for example, a sound effect event) it might be more appropriate to use a Remote Procedure Call (RPC) for it.

Often you can evade using RPCs even for events, and that’s by using a [change callback](https://netick.net/docs/manual/basics/change-callback/) using \[OnChanged] attribute.
