Plugin Classes/Game Classes Limitations
Expect crashes, a lot of errors and etc. This is fine :)
Calling methods from base class
IMPORTANT! Do not call methods from base classes (example: Item, PlayerClass and etc). Like base.Init() and etc. THIS WILL CRASH SERVER/CLIENT WITHOUT ANY MESSAGE
System/Unity Classes limitations
Game use IL2CPP builds, so Classes/Methods/Constructors and etc. that game dont use will not be available in plugins.
If plugin use something, that not available in game, then it will not be loaded and server will not start. You will see error in console, like "Method not implemented" and other like errors.
If you need something, that not available in game, you can contact Game Developer on our Discord server or create ticket(better) to ask about implementing this.
Server/Client Communications
Item, Player Classes, Rooms and etc use three functions to communicate between connections:
SendToClient
SendToServer
SendToEveryone
Calling functions must be public, otherwise they will not be called. They can accept most of base value types, like int, float, string and etc, also Unity Vector3 and Quaternion.
Currently send byte, sbyte, bool not supported, we investigating this issue, maybe some another value types too.
SendToServer also pass Mirror.NetworkConnectionToClient as last parameter to function, but this is optionally and not require to be in server function.
Obtaining Player Classes, Items, Room Events
Plugin classes use proxies, so when trying to get class, check its type, otherwise you will get error of incorrect type. Example:
Last updated