It took me a while to figure that out as well. My current setup (which works) consists of a "Scripts/serializable" folder in Unity. I enclose my classes in that folder with "namespace serializable {". In Java, for the server, I have a "serializable" package that is adjacent to my main Extension package. They are both children of the "src" folder.

You could maybe try mimicking that setup initially, just to get it to work, then massage things around to subfolders and ensure that it still works afterwards.

Looking at your code, perhaps the namespace in C# should just be "Serialization". Also, note that enums and private fields don't get serialized. GetJavaPackageName() is unnecessary if you're using the most recent client patch of the SmartFox plugin in Unity.

Whiskey wrote:I would love to see that as well. After some testing, I found with GetDump of the object to send that after PutClass both Unity (before sending), and the server (after receiving and before sending back) report the contents of the object as:

Some important notes to get this working:1. Only non-generic ArrayList and Hashtable work in C#2. Hashtable can have only use string type as the key3. The java extension must be in __lib__ folder to allow sending classes from C# (AS3) -> Java4. C# class needs this: DefaultSFSDataSerializer.RunningAssembly = Assembly.GetExecutingAssembly();5. Package names need to match in the C# and Java class