unity-technologies/skills

sprite-editor

Edits Unity sprite properties by generating C# editor scripts using ISpriteEditorDataProvider APIs.

All-time #5977 Trending #1186 Hot #5830 First seen Aug 14, 2026
8-week activity · all time api

Installation

$ npx skills add unity-technologies/skills --skill sprite-editor

Summary

  • 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.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from unity-technologies/skills · top by installs.

npx skills add unity-technologies/skills

Browse all from unity-technologies/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 747
License LICENSE.md
Default branch main
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,680 B
  • docs SUMMARY.md 315 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2,100 installs

SKILL.md

Sprite Editor

Sprite metadata (rects, borders, pivots, outlines) lives inside the importer, not in a file you can edit — reaching it means running C# through a live Editor.

The unity-cli skill owns getting you there — installing the CLI, confirming a connected Editor, adding the project's com.unity.pipeline package, telling a genuinely absent Editor apart from one stuck in Safe Mode, and discovering the Editor's command catalog. Follow it first; don't re-derive any of it here.

Two things it can't know for you:

  • You need eval in particular, not just a reachable Editor. Confirm it appears in the

catalog — its presence depends on the Pipeline package version, not on the CLI.

  • Never hand-edit a .meta file to change sprite metadata. The importer owns that data

and the capability checks below exist to prevent corruption, so an unreachable Editor is a stop, not a cue to improvise.

Run C# through the connected Editor with the eval command. Discover its parameter shape from unity command --format json rather than assuming one — the inline form is unity command eval --code '<snippet>', and some Pipeline versions also register evalfile for running a snippet from a file. Check the catalog before reaching for evalfile; it is frequently absent. unity command defaults to a 30 second timeout.

Generates C# editor scripts to manipulate Unity sprites using ISpriteEditorDataProvider. Works with TextureImporter, PSBImporter, and custom importers.

Passing C# to eval

eval compiles a statement block, not a file. Two consequences, both of which cause a compile error rather than a warning:

  • No using directives. The compiler reads using UnityEngine; as a resource-disposal

statement and rejects it (CS0210).

  • Types must be fully qualified. A bare AssetDatabase or Volume does not resolve

(CS0246 / CS0103), and a bare Object is ambiguous with object (CS0104).

Where a snippet below is written as a file — with usings, for readability, or because it is meant to be saved into the project — qualify the types before passing it to eval.

Workflow

All 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.

Common Operations

Modify Name/Rect/Border/Pivot: Update corresponding SpriteRect fields (see scripts/SetPivotExample.cs for pivot examples)

  • Requires: EditSpriteName, EditSpriteRect, EditBorder, or EditPivot

Add/Remove/Slice: Create or filter SpriteRect array (see [references/background.md](references/background.md) for Unity 2021.2+ requirements)

  • Requires: CreateAndDeleteSprite

Set Outlines: Get ISpriteOutlineDataProvider → Call SetOutlines() with GUID + Vector2 arrays

Important Notes

  • Do NOT use AssetPostprocessor or MenuItem patterns
  • Generate standalone snippets only — no AssetPostprocessor, no MenuItem
  • Enum assignments: Always use enum values and cast to numeric types. Never use raw numbers.

- ✅ Correct: (int)SpriteAlignment.Center - ❌ Wrong: 1 (magic number)