Phase 4 updates

Phase 4 · Slice 6 ·

Models in Unity scenes

  • Sub-assets of models by Unity's local file IDs: meshes and materials are xxh64("Type:<Class>-><name><n>") (n counts earlier same-named ones; confirmed with Unity's own AssetImporter.MakeLocalFileIDWithHash). Every model's root GameObject is 919132149155446097 and its root Transform -8679921383154817045; 100100000 is the model as a prefab.
  • Models placed in scenes are prefab instances whose source is the model: the importer builds the model's prefab documents (root with Unity's IDs, meshes and materials by theirs), so expansion, overrides and saving back work as for .prefab files. Scenes inside a Unity package index the whole package.
  • unity_import now also covers a model instance with root overrides, one as imported, and an object using a mesh and material from inside an FBX: 255 checks, directly and through the editor form.
  • Open: the IDs of objects and components below a model's root. Ruled out: xxh64 of type and name, path (Unity's or the FBX's, with or without //RootNode), the FBX object ID, parent IDs as offset or seed, and collision counters up to 3000. Overrides and references that target them are reported, not applied.
  • Next: ScriptableObjects, .asmdef assemblies, MCP resources and the exec tool.