# Static RPC

Utilizing statics are super common during your development flow, so why shouldn't you with networking as well!

{% embed url="<https://youtu.be/UbcrjcE_DNo?si=QsgiW3M5Na--U9di&t=22>" %}

Now keep in mind that this can be unsafe if you run gameplay logic through it, as we don't have a [network identity](https://purrnet.gitbook.io/docs/systems-and-modules/network-identity) to check ownership with.

This works with all RPC types such as: **ServerRpc, ObserversRPC, TargetRPC**. It also works with [generic ](https://purrnet.gitbook.io/docs/systems-and-modules/remote-procedure-call-rpc/generic-rpc)and [awaitable ](https://purrnet.gitbook.io/docs/systems-and-modules/remote-procedure-call-rpc/awaitable-rpc)RPC's!

```csharp
private void SendData()
{
    TestRpc(123);
}

[ServerRpc]
private static void TestRpc(int myNumber)
{
    Debug.Log($"Received {myNumber}");
}
```
