How does TrueSyncInput.SetByteArray and .GetByteArray work with the key parameter?

I'm trying to figure out how to send more customized input data via TrueSyncInput.SetByteArray and .GetByteArray, but these methods require a byte parameter... It seems simple to serialize an object into a byte array using a magical black box like ExitGame.Client.Photon.Protocol.Serialize(), but with the byte parameter on SetByteArray it seems to imply that it's unable to determine which class it is when deserializing. And on the other side of the SetByteArray, where it's necessary to GetByteArray, how would it know which class to get? I'm confused, how does this work? Thanks.


  • Well I figured out to get it to work, but I don't really understand why it was designed in such a way. I can work with this, though.