What data types can be sent through remote events and functions?

I’m seriously confused. I would really like some sort of comprehensive list of what type of data can be sent when.

I know:

  • Basic Lua types (e.g. bool, num, string) except tables - Always
  • Objects - When replicated

but that’s pretty much it. What about CFrames? Tables? Rects? Is there a list somewhere that I just can’t find?

All UTF8 characters and data types can be transmitted.

https://developer.roblox.com/en-us/articles/Remote-Functions-and-Events

Any type of Roblox object such as an Enumeration, Instance , or userdata can be passed as a parameter when a RemoteEvent is fired or a RemoteFunction invoked

userdata refers to things like CFrames and Rects, so according to the documentation, everything can be sent.

That would make sense, too, because usually those data types are used for objects’ properties, meaning that if you wanted to replicate an object you’d need to be able to replicate all its properties and their types.