I've been working on a game all year on Roblox. I've just finished the server-side of it, which holds all the data, and now I'm working on the client side, downloading and displaying the data.
So it came as a real bummer that I can't just pass a table in it's entirety through a RemoteEvent or RemoteFunction to download the data from the server to client. All the metatables I worked hard on are gone, and the class structure I've been developing gets ruined.
However, you can pass simple tables that hold data across the client-server boundary. At an arbitrary level, everything my tables hold are compromised of these simple pieces of data (strings, numbers, etc.). They are all named by keys too.
Because of this, isn't it possible to conserve a table using a pack/unpack script?
A pack script could transfer the table's data alone, and put it's metatables also as pieces of data inside of the table (and not applied to the table). The unpack function reverses this proccess.
The process could be recursive if there are tables stored within tables for this scenario.
So, is this a good way to work around the system, or am I missing something?

1 comment
You can send a table just not a mixed table, it is explained at the bottom of http://wiki.roblox.com/index.php?title=RemoteFunction_and_RemoteEvent_Tutorial#Limitations