Reproduction steps:
1. Open the attached “IN-101795.zip” project
2. Build and Run the “SerializeTest” Scene for WebGL (File > Build and Run)|
3. Once built, open the Console in the browser (F12)
4. Observe the values in “HexBinary Serialized:” after deserialization
Expected result: All of the values should be the same as before deserialization (“<TestBool2>” (true), “<TestInt2>”(37), “<TestFloat2>” (123.456), “<TestString2>” (Hex Test))
Actual result: The values for “<TestBool2>” (false), “<TestInt2>”(0) and “<TestFloat2>” (0) are incorrect and “<TestString2>” value is missing
Reproducible with: 2022.1.0a1, 2022.3.62f1, 6000.0.48f1, 6000.1.3f1, 6000.2.0b1
Reproducible on: Windows 11
Not reproducible on: No other environment tested
Notes:
- If an error is present in the Console once the project is opened, remove the "LinuxStandalone64Server" string from the SourceFiles.asmdef file
- The correct result can be seen entering Play mode in the Editor and observing the values in the Console
- XmlReader.ByteArrayToHex behaves differently between Editor and WebGL: in Editor it reads the XML element and advances the reader to the next element, while in WebGL it reads but fails to advance, causing parsing mismatches