Page URL: Remote Functions and Events
Date First Experienced: 2021-03-27 16:03:00 (-07:00)
Date Last Experienced: 2021-03-27 17:03:00 (-07:00)
This is less a bug and more a case of inaccurate documentation. The Developer Hub does not mention that table keys of type Instance get serialized to strings through the RemoteEvent, which causes unexpected behavior for developers to contend with. I’ve created a minimum repro here: RemoteEvents Unexpected Behavior Repro - Roblox. This repro simply fires a RemoteEvent from the server to the client once a second. Before it fires the event, it prints the keys and values of the table it will send to the client and the types of each of those keys and values. Once the client gets word of the event, it will print the keys and values and types of the keys and values of the table it receives as an argument from the event. The server’s keys and values are both of type Instance, but the client sees keys of type string and values of type Instance.
In this particular case, I would have expected either the game engine to not serialize my table values or at least for the Developer Hub to list that in the linked page’s “Parameter Limitations” section.
The linked page makes no reference to the behavior of the game engine.