Skip to main content

unity-yaml-editing

Unity YAML text serialization editing workflow. Use when Codex needs to directly inspect, modify, create, or repair Unity serialized YAML files such as .unity scenes, .prefab assets, .asset ScriptableObject/config files, .mat, .controller, or other text-serialized Unity assets, especially when AIBridge inspector/prefab/scene APIs do not support the requested Prefab, Scene, ScriptableObjectTable, or custom asset operation

Source facts

Repository
liyingsong99/AIBridge
Last source activity
July 3, 2026 at 06:41
Detected SKILL.md language
English
Stars
225
Forks
33

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
unity-yaml-editing
description
Unity YAML text serialization editing workflow. Use when Codex needs to directly inspect, modify, create, or repair Unity serialized YAML files such as .unity scenes, .prefab assets, .asset ScriptableObject/config files, .mat, .controller, or other text-serialized Unity assets, especially when AIBridge inspector/prefab/scene APIs do not support the requested Prefab, Scene, ScriptableObjectTable, or custom asset operation
# Unity YAML Editing Load this Skill only after considering Unity/AIBridge APIs. UnityYAML is fragile, and direct text edits are the fallback for unsupported serialized asset operations, deterministic repair work, and rare text-serialized asset authoring that AIBridge/Unity APIs cannot express ## Decision Order 1. Prefer `aibridge` Inspector/SerializedProperty commands for single readable field edits on scene objects, prefab assets, and `.asset` files 2. Prefer `inspector set_properties` for small batched field edits on one target 3. Prefer `aibridge-prefab-patch` for complex Prefab child/component/property/array/reference edits it supports 4. Prefer Unity Editor scripts when generating high-level assets that Unity can create more safely than text 5. Use direct UnityYAML editing when AIBridge/Unity APIs cannot express the operation, for example: - Scene `.unity` structure/object creation or unsupported scene edits - New Prefab asset authoring, paired `.meta` creation, or Prefab/Variant structures not covered by `prefab patch` - ScriptableObjectTable, custom ScriptableObject `.asset`, `.mat`, `.controller`, or other serialized assets requiring unsupported structural changes - Repairing malformed text serialization while preserving existing IDs and references ## Required Workflow 1. Read `references/unity-yaml-reference.md` before editing 2. Inspect a same-project example for every Unity component/class you will create; never write component schemas from memory 3. Make a small, reviewable patch; preserve ordering, indentation, document headers, anchors, `m_Script`, GUIDs, and local fileIDs unless a new object must be created 4. For new assets, create or preserve the paired `.meta` file and ensure its GUID does not already appear in the project 5. For new MonoBehaviour/ScriptableObject documents, resolve the script `.meta` GUID first and use it in `m_Script` 6. For new documents, allocate local fileIDs that do not exist in the same file and update every owning reference consistently 7. Validate with Unity import/compile and targeted AIBridge hierarchy/properties inspection when possible ## Hard Rules - Do not use generic YAML formatters or parsers to rewrite UnityYAML files - Do not change `%YAML`, `%TAG`, `--- !u!<classID> &<fileID>` headers, class IDs, GUIDs, or fileIDs without a clear reference update plan - Do not invent Unity schema fields. Copy shape from an existing nearby object of the same class/component/script when possible - Prefer decimal floats in hand edits. Avoid editing Unity-generated hexadecimal float values unless preserving existing text unchanged - Keep `.meta` GUIDs stable. Creating a new asset requires creating/retaining the paired `.meta` file through Unity when possible - When adding Prefab nodes/components, update all reciprocal references in the same patch: parent `m_Children`, child `m_Father`, `GameObject.m_Component`, and component `m_GameObject` ## Reference - `references/unity-yaml-reference.md`: detailed UnityYAML format, editing patterns, safety checks, and validation checklist
View on GitHub