scene_saveto a.unitypath patches the file the scene came from, measured against the scene as exported when opened: untouched documents stay byte for byte (a save without edits reproduces the file), changed values are rewritten at their keys only, new objects and components get new documents with fresh file IDs, deleted ones lose theirs (with their parents' child lists, component lists and SceneRoots updated).- Prefab instances keep their links: property edits become
m_Modifications(property paths, references as objectReference), removed components and objects becomem_RemovedComponents/m_RemovedGameObjects, added onesm_AddedComponents/m_AddedGameObjectswith stripped placeholders, deleting an instance removes it, reparenting changesm_TransformParent. - Values are written in Unity's style: flow mappings for references, vectors and colors, block structs, sequences at the key's indentation, hex primitive arrays, shortest single-precision numbers without exponents, quoting only when needed; the YAML parser keeps key order so rewritten blocks keep Unity's.
- Checked against Unity:
SceneDump.csopened edited and saved Coin Dash levels (plain edits, and overrides on the coin prefab's instances) in the Unity editor with no warnings, and what it loaded matched Tassix's reading of the same files field for field. An e2e test saves without edits (identical bytes) and with edits, then reopens the file in a fresh session and gets the edited scene back. - Next: FBX meshes and sub-assets by file ID, ScriptableObjects,
.asmdefassemblies, MCP resources and theexectool.
Phase 4 · Slice 5 ·