RPC call are limited to which parameters?

Hello,

I'm currently trying to pass a List of string string to an RPC call and I'm getting an exception. Can I only pass basic type? That's strange since I'm pretty sure in the past I had an RPC passing a Dictionary which was working properly. In any case, can I defined some more type to be passed to the RPC?

Exception: cannot serialize(): System.Collections.Generic.List`1[System.String]
ExitGames.Client.Photon.Protocol.Serialize (System.IO.MemoryStream dout, System.Object serObject, Boolean setType)
ExitGames.Client.Photon.Protocol.SerializeObjectArray (System.IO.MemoryStream dout, System.Object[] objects, Boolean setType)
ExitGames.Client.Photon.Protocol.Serialize (System.IO.MemoryStream dout, System.Object serObject, Boolean setType)
ExitGames.Client.Photon.Protocol.SerializeHashTable (System.IO.MemoryStream dout, ExitGames.Client.Photon.Hashtable serObject, Boolean setType)
ExitGames.Client.Photon.Protocol.Serialize (System.IO.MemoryStream dout, System.Object serObject, Boolean setType)
ExitGames.Client.Photon.Protocol.SerializeParameterTable (System.IO.MemoryStream memStream, System.Collections.Generic.Dictionary`2 parameters)
ExitGames.Client.Photon.Protocol.SerializeOperationRequest (System.IO.MemoryStream memStream, Byte operationCode, System.Collections.Generic.Dictionary`2 parameters, Boolean setType)
ExitGames.Client.Photon.EnetPeer.SerializeOperationToMessage (Byte opc, System.Collections.Generic.Dictionary`2 parameters, EgMessageType messageType, Boolean encrypt)
ExitGames.Client.Photon.EnetPeer.EnqueueOperation (System.Collections.Generic.Dictionary`2 parameters, Byte opCode, Boolean sendReliable, Byte channelId, Boolean encrypt, EgMessageType messageType)
ExitGames.Client.Photon.PeerBase.EnqueueOperation (System.Collections.Generic.Dictionary`2 parameters, Byte opCode, Boolean sendReliable, Byte channelId, Boolean encrypted)
....

Thanks,
Don T.

Comments

  • List is not supported in favor of arrays. On some platforms, we couldn't really implement both and then it would be ambiguous.

    Here is a list of "Serializable Types":
    https://doc.photonengine.com/en/realtime/current/reference/binary-protocol
    The additional types in PUN are missing, as is the Dictionary.
  • Ok Thanks Tobias. I'll then use an array of string, or a simple string which i will need to encode and decode on the other end.

    ok that's fine, not a big deal, thanks for your prompt response sir!

    Cheers,
    Don T.
  • You're welcome. I'm sorry you ran into this issue.
    An array of strings is probably a good idea, because you can easily convert to and from List.