skills/unity-yaml-editing-guide/SKILL.md
Provides guidelines for directly editing Unity YAML-serialized asset files for Unity projects. Make sure to use this skill whenever creating, editing, or modifying simple YAML asset files (ScriptableObjects, Materials, etc.) via Edit/Write tools without going through the Unity Editor. This includes adjusting ScriptableObject field values, modifying material shader properties, or any task that results in direct changes to allowlisted Unity YAML asset files. Even for small edits or one-line value changes, load this skill to ensure Unity asset-YAML conventions are followed.
npx skillsauth add nowsprinting/claude-code-settings-for-unity unity-yaml-editing-guideInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Guide for directly editing Unity YAML-serialized asset files for Unity projects.
AnimationClip, AnimatorController, Texture2D, Mesh, AudioClip, LightingDataAsset, etc.) carry binary-derived data or complex internal structure — open them in Unity Editor instead.
MonoBehaviour, class ID 114) — files *.assetMaterial, class ID 21) — files *.mat.unity or .prefab files. Use edit-scene skill — those carry GameObject/Prefab-instance structure that is unsafe to author by hand..meta files. Unity owns .meta content (GUIDs, importer settings); hand-edits corrupt asset references project-wide.%YAML 1.1 and %TAG !u! tag:unity3d.com,2011: — these are not stylistic, and Unity will fail to load the asset if they drift.--- !u!<classID> &<fileID> — for ScriptableObject use --- !u!114 &11400000, for Material use --- !u!21 &2100000 (canonical local anchors).MonoBehaviour:), the order is m_ObjectHideFlags → m_CorrespondingSourceObject → m_PrefabInstance → m_PrefabAsset → m_GameObject → m_Enabled → m_EditorHideFlags → m_Script → m_Name → m_EditorClassIdentifier. User fields come after.m_Name in sync with the filename (without the .asset / .mat extension) — a mismatch confuses Unity's importer and Resources.Load-style lookups.{fileID: N, guid: <32-hex>, type: T} where type: 2 is a project asset and type: 3 is a script. Local references use {fileID: N} matching an &N anchor in the same file; {fileID: 0} means null.\uXXXX inside double quotes — plain ASCII stays unquoted. Match how Unity itself emits the file.*name), extra tags, or chomping indicators (|, >). Unity's YAML parser drops or rejects them, and re-save would strip cosmetic formatting anyway — don't bother polishing what Unity will normalize.get_unity_compilation_result. Review the diff Unity produces on next save to confirm the edit was accepted as intended.%YAML 1.1 before editing. If it does not, the project is in Binary or Mixed serialization mode and the asset must not be hand-edited — open it in the Unity Editor instead.m_Script GUID. Copy from an existing asset of the same ScriptableObject type, or look up the script's .cs.meta file — fabricated GUIDs detach the asset from its script.<PropertyName>k__BackingField. Do not rename them to the property name — the serialized name is the C# compiler's backing-field symbol.0 / 1 (never true / false), enums and ints bare, floats as plain decimals, Vector3 as {x: 0, y: 0, z: 0} flow style, Quaternion as {x: 0, y: 0, z: 0, w: 1}, Color as {r: 1, g: 1, b: 1, a: 1}.| Type | Form | Example |
|---|---|---|
| bool | 0 / 1 | m_Enabled: 1 |
| int / enum | bare integer | <Cost>k__BackingField: 1 |
| float | plain decimal | m_Glossiness: 0.5 |
| ASCII string | unquoted | m_Name: DryPrinciple |
| non-ASCII string | double-quoted, \uXXXX escapes | "DRY原則" |
| Vector3 | flow mapping | {x: 0, y: 0, z: 0} |
| Quaternion | flow mapping | {x: 0, y: 0, z: 0, w: 1} |
| Color | flow mapping | {r: 1, g: 1, b: 1, a: 1} |
| local ref | flow mapping | {fileID: 11400000} |
| cross-file ref | flow mapping | {fileID: 11400000, guid: <32-hex>, type: 2} |
| null ref | flow mapping | {fileID: 0} |
| list of refs | block sequence with - bullets | one - {fileID: ...} per line |
.asset or .mat file (header, m_Script, class-typed contents, or unfamiliar field): Read .claude/skills/unity-yaml-editing-guide/resources/asset-yaml-format.mdtesting
Orchestrates the test-first implementation planning workflow for feature implementation and spec changes. Use this skill whenever plan mode is active and the task involves implementing or adding a new feature, or changing an existing specification. Even if the user only says "plan this" or "how should we implement this", load this skill to ensure the full test-first planning workflow is followed.
testing
Diagnoses and fixes bugs using a test-first workflow (reproduce, diagnose, fix). Use this skill whenever the user reports a bug, describes unexpected behavior, or asks to investigate or fix a defect. Even if the user says "something's broken", "this isn't working", "fix this bug", or "why does X happen", load this skill to guide the full reproduce → diagnose → fix cycle.
development
Creates and modifies Unity scene and prefab files. Use this skill whenever creating, editing, or modifying .unity scene files or .prefab prefab files, or writing editor scripts under Assets/Editor/ that generate or manipulate scenes, prefabs, or scene-bound assets. This includes adding GameObjects, building uGUI hierarchies, wiring up components, and any task that results in changes to .unity or .prefab files.
development
Provides test design methodology for Unity projects. Use this skill whenever designing test cases from requirements or specifications, including selecting test techniques, deriving test cases, and formatting them. Even for small features, load this skill to ensure test design rigor.