JsonUtility.ToJson,FromJsonandFromJsonOverwritefollow a newjson_utilityscenario recorded in Unity, and match it byte for byte, pretty printing included.- Writing follows Unity's RapidJSON writer: floats are widened to double and printed shortest round-trip, with
.0on whole numbers ande-7exponents. - A char is written as a number. Null strings, arrays and nested classes come out empty or default. Unity objects are
{"instanceID": n}, and anything that isn't an object gives"{}". - Reading merges into nested values and replaces lists. It converts leniently, reads 64-bit integers exactly, and gives RapidJSON's error messages.
- Writing follows Unity's RapidJSON writer: floats are widened to double and printed shortest round-trip, with
- Precompiled plugins: managed DLLs under Assets or in embedded packages.
- Their
.metais honored: Windows player platforms and explicit referencing. So is asmdefoverrideReferences. - They load like compiled assemblies, hot reload included.
- Plugins built against Unity's modules (for example
UnityEngine.PhysicsModule) bind to Tassix's types through type-forwarding facades generated with Roslyn, at compile time and at run time. - Scenes reference plugin classes by the DLL's GUID and Unity's MD4 file ID (checked against Unity's IDs for UnityEngine.UI). Saving writes that form, and loading resolves it even without class identifiers.
- Native plugins aren't loaded.
- Their
- IDEs: the compile's generated solution (
Library/Tassix/Scripts/Scripts.slnx) shows scripts in their Assets folders, andtassix://projectgives its path. It stays out of the project root, so Unity's own project files are left alone. - The review panel no longer swallows clicks by rebuilding its list every second, and keeps its port across build swaps.
execprefers the project's scripts over the samples' same-named ones.cargo xtask mcpreplaces a running launcher by renaming it aside. - 27 conformance scenarios pass. A new MCP e2e test covers a fixture plugin built against Unity 6000.2's modules.
- Next: Phase 5 (Input System, Animator, uGUI, rendering), and carrying pending exec requests across build swaps.
Phase 4 · Slice 10 ·