← UnityCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Unity
Snapshot Sep 30, 2026 · 23:16 UTC · version 0.1.6-beta
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Edits Unity sprite properties by generating C# editor scripts using ISpriteEditorDataProvider APIs. Handles sprite rectangles, borders, pivots, outlines, and slicing operations (automatic, grid, isometric). Use when working with sprite assets, sprite sheets, texture atlases, or sprite slicing.",
"included_files": [
{
"relative_path": "references/api_reference.md",
"size_in_bytes": 6019
},
{
"relative_path": "references/background.md",
"size_in_bytes": 4146
},
{
"relative_path": "references/templates.md",
"size_in_bytes": 2877
},
{
"relative_path": "scripts/AutomaticSliceTexture.cs",
"size_in_bytes": 2262
},
{
"relative_path": "scripts/GenerateNewSpriteRects.cs",
"size_in_bytes": 8814
},
{
"relative_path": "scripts/GetTextureSourceImageSize.cs",
"size_in_bytes": 1344
},
{
"relative_path": "scripts/GetTextureToSlice.cs",
"size_in_bytes": 2631
},
{
"relative_path": "scripts/GridSliceTexture.cs",
"size_in_bytes": 2485
},
{
"relative_path": "scripts/IsometricSliceTexture.cs",
"size_in_bytes": 6962
},
{
"relative_path": "scripts/README.md",
"size_in_bytes": 4766
},
{
"relative_path": "scripts/SetPivotExample.cs",
"size_in_bytes": 2528
},
{
"relative_path": "scripts/SpriteToPng.cs",
"size_in_bytes": 3025
}
],
"name": "sprite-editor",
"skill_md_contents": "---\nname: sprite-editor\ndescription: Edits Unity sprite properties by generating C# editor scripts using ISpriteEditorDataProvider APIs. Handles sprite rectangles, borders, pivots, outlines, and slicing operations (automatic, grid, isometric). Use when working with sprite assets, sprite sheets, texture atlases, or sprite slicing.\nmodes: [agent, ask]\n---\n\n# Sprite Editor\n\nSprite metadata (rects, borders, pivots, outlines) lives inside the importer, not in a file\nyou can edit — reaching it means running C# through a live Editor.\n\n**The `unity-cli` skill owns getting you there** — installing the CLI, confirming a connected\nEditor, adding the project's `com.unity.pipeline` package, telling a genuinely absent Editor\napart from one stuck in Safe Mode, and discovering the Editor's command catalog. Follow it\nfirst; don't re-derive any of it here.\n\nTwo things it can't know for you:\n\n- **You need `eval` in particular**, not just a reachable Editor. Confirm it appears in the\n catalog — its presence depends on the Pipeline package version, not on the CLI.\n- **Never hand-edit a `.meta` file to change sprite metadata.** The importer owns that data\n and the capability checks below exist to prevent corruption, so an unreachable Editor is a\n stop, not a cue to improvise.\n\nRun C# through the connected Editor with the `eval` command. Discover its parameter shape\nfrom `unity command --format json` rather than assuming one — the inline form is\n`unity command eval --caller plugin --skill sprite-editor --code '<snippet>'`, and some Pipeline versions also register\n`eval_file` for running a snippet from a file. **Check the catalog before reaching for\n`eval_file`; it is frequently absent.** `unity command` defaults to a 30 second timeout.\n\nGenerates C# editor scripts to manipulate Unity sprites using ISpriteEditorDataProvider. Works with TextureImporter, PSBImporter, and custom importers.\n\n### Passing C# to `eval`\n\n`eval` compiles a **statement block, not a file**. Two consequences, both of which cause a\ncompile error rather than a warning:\n\n- **No `using` directives.** The compiler reads `using UnityEngine;` as a resource-disposal\n statement and rejects it (`CS0210`).\n- **Types must be fully qualified.** A bare `AssetDatabase` or `Volume` does not resolve\n (`CS0246` / `CS0103`), and a bare `Object` is ambiguous with `object` (`CS0104`).\n\nWhere a snippet below is written as a file — with usings, for readability, or because it is\nmeant to be saved into the project — qualify the types before passing it to `eval`.\n\n## Workflow\n\nAll generated scripts must follow the Safe Core Pattern in [references/templates.md](references/templates.md), which includes MANDATORY capability checks. NEVER attempt operations if capability checks fail - this prevents data corruption. After execution, verify results in Unity console and Project window.\n\n## Common Operations\n\n**Modify Name/Rect/Border/Pivot:** Update corresponding `SpriteRect` fields (see scripts/SetPivotExample.cs for pivot examples)\n- Requires: `EditSpriteName`, `EditSpriteRect`, `EditBorder`, or `EditPivot`\n\n**Add/Remove/Slice:** Create or filter `SpriteRect` array (see [references/background.md](references/background.md) for Unity 2021.2+ requirements)\n- Requires: `CreateAndDeleteSprite`\n\n**Set Outlines:** Get `ISpriteOutlineDataProvider` → Call `SetOutlines()` with GUID + Vector2 arrays\n\n## Important Notes\n\n- Do NOT use AssetPostprocessor or MenuItem patterns\n- Generate standalone snippets only — no `AssetPostprocessor`, no `MenuItem`\n- **Enum assignments:** Always use enum values and cast to numeric types. Never use raw numbers.\n - ✅ Correct: `(int)SpriteAlignment.Center`\n - ❌ Wrong: `1` (magic number)\n"
}SHA-256 of public snapshot: b6b2e0db77d1fe9dd93cbf5fac594815838ebb12c9c356b11d53f6d26f3f97e8