Rpc cannot have abstract parameters???

The method looking like this

[ClientRpc]
void RpcCreateTile(Tile newTile, int x, int y, bool makeBlue){...}

Ummm… how do I circumvent this limitation and why is it there?? I have an abstract class Tile with several derivates and I don’t want to write a method for every single derivate.

• Basic type (byte, int, float, string, UInt64, etc)
• Built-in Unity math type (Vector3, Quaternion, etc),
• Arrays of basic types
• Structs containing allowable types
• NetworkIdentity
• NetworkInstanceId
• NetworkHash128
• GameObject with a NetworkIdentity component attached.

These are the allowed arguments inside of an RPC. What does your Tile class contain? Is there any way you can just send an ID value instead of a whole object? Remember that when possible, you want to send as little data as possible.