Communitygithub.com

unity-technologies/gestionar-sprite-atlas

Gestiona SpriteAtlas mediante la canalización de precompilación con IPreprocessBuildWithReport (enfoque PREDETERMINADO). Se utiliza para configurar atlas maestros, atlas variantes, ajustes de textura, ajustes de empaquetado y configuraciones específicas de plataforma. Úsalo cuando el usuario pregunte sobre crear atlas de sprites, optimizar sprites, configurar ajustes de atlas, agregar sprites a atlas, crear atlas variantes, implementar generación automatizada de atlas o acceso a atlas de sprites en tiempo de ejecución. Siempre usa el enfoque de precompilación a menos que el usuario solicite explícitamente la creación manual.

¿Qué es gestionar-sprite-atlas?

Esta habilidad proporciona conocimiento procedural seguro para el editor al crear y gestionar SpriteAtlas en proyectos Unity. Sigue el principio crítico V2 de separación estricta entre la creación en el editor y el acceso en tiempo de ejecución: SpriteAtlas es solo para tiempo de ejecución, mientras que SpriteAtlasAsset es solo para el editor. Su enfoque predeterminado utiliza la interfaz IPreprocessBuildWithReport para generar o actualizar automáticamente los SpriteAtlas durante la compilación, eliminando la necesidad de scripts manuales con [MenuItem] a menos que el usuario lo solicite explícitamente. La habilidad maneja la selección del mecanismo de entrega (atlases incorporados en la compilación o de enlace tardío vía Addressables) y requiere verificar el modo SpritePackerMode antes de la creación, leyendo su valor de vuelta para confirmar que no esté deshabilitado. También incluye un paso obligatorio para escanear scripts existentes con el identificador // [UNITY-SKILL:SPRITEATLAS] y ofrece opciones para actualizar, crear nuevos o abortar. Soporta Unity Editor y cubre configuraciones de atlas maestros, variantes, ajustes de textura, empaquetado y plataforma específica.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/unity-technologies/skills/tree/main/skills/manage-sprite-atlas

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Unity SpriteAtlas V2

Proporciona conocimiento procedural seguro para el editor para scripting de atlas en proyectos Unity. V2 impone una separación estricta entre la creación en el editor y el acceso en tiempo de ejecución.

⚠️ Principio crítico V2: SpriteAtlas es solo para tiempo de ejecución. SpriteAtlasAsset es solo para el editor. Nunca mezcles contextos. Siempre usa V2.

🚨 CRÍTICO: Verificaciones y entradas de usuario requeridas antes de la implementación

SIEMPRE realiza estas verificaciones y haz estas preguntas ANTES de generar cualquier código:

Lee los recursos incluidos antes de escribir código (REQUERIDO)

Esta habilidad incluye C# funcional en resources/, y el código de atlas que sale mal es casi siempre código escrito sin leerlo primero. Abre los archivos para la ruta que estás tomando, luego escribe.

Tomando esta rutaLee primero
Cualquier trabajo con atlasresources/authoringvsruntime.cs, references/common-errors.md
Generación de precompilación (la predeterminada)resources/spriteatlasprebuildgenerator.cs, resources/enablespritepacking.cs, resources/savespriteatlasasset.cs
Opción B, enlace tardío de Addressablesresources/buildaddressablespostprocess.cs, resources/spriteatlaslatebinding.cs, resources/handlelatebinding.cs
Cualquier cosa que pueda usar una API anteriorresources/deprecatedmethods.cs, resources/dontscriptspriteatlasineditor.cs, resources/dontpackinruntimebuilds.cs

resources/ contiene 38 archivos en total, que cubren empaquetadores personalizados, variantes, configuraciones de plataforma y acceso en tiempo de ejecución. Navega por el directorio cuando tu tarea no esté en la tabla anterior en lugar de inventar un enfoque. Usar la API de memoria en lugar de leer estos archivos es la causa más común de un atlas que importa limpiamente y luego no hace nada en tiempo de ejecución.

0. Verificar scripts existentes (PRIMER PASO REQUERIDO)

ANTES de generar cualquier código, escanea el proyecto en busca de scripts de SpriteAtlas generados por esta habilidad.

Busca archivos que contengan el identificador: // [UNITY-SKILL:SPRITEATLAS]

Si se encuentran scripts existentes, SIEMPRE pregunta al usuario con este formato:

"Encontré scripts de SpriteAtlas existentes en tu proyecto:

Generador de precompilación:

  • Assets/Editor/SpriteAtlas/SpriteAtlasPrebuildGenerator.cs

Constructor de Addressables:

  • Assets/Editor/SpriteAtlas/BuildAddressablesPostprocess.cs

Cargador en tiempo de ejecución:

  • Assets/Scripts/SpriteAtlas/SpriteAtlasLateBinding.cs

¿Qué te gustaría hacer?"

Luego presenta las opciones:

  • Opción A: Actualizar scripts existentes (Recomendado si los requisitos cambiaron)

    • Regenera scripts en las rutas existentes
    • Preserva las ubicaciones de los archivos
    • Actualiza a la versión más reciente
    • ⚠️ Puede sobrescribir modificaciones personalizadas
  • Opción B: Crear nuevos scripts con nombres diferentes

    • Genera junto a los scripts existentes
    • Permite múltiples configuraciones de atlas
    • Los scripts originales permanecen sin cambios
    • Necesitarás especificar nuevos nombres/rutas
  • Opción C: Abortar (mantener existentes sin cambios)

    • Sin generación de código
    • Sin cambios en el proyecto
    • Úsalo si quieres mantener la configuración actual

Manejo de la elección del usuario:

  • Si se elige A: Regenerar en rutas existentes, incrementar versión a 2.0.1+
  • Si se elige B: Preguntar por nuevos nombres de script (ej., "SpriteAtlasPrebuild_Custom.cs"), luego generar
  • Si se elige C: Detenerse de inmediato, informar al usuario que no se realizaron cambios

1. Mecanismo de entrega (REQUERIDO)

Pregunta: "¿Cómo deseas entregar los atlas de sprites?"

Opción A: Datos incorporados (carga inmediata)

  • Los atlas se incluyen en la compilación y se cargan inmediatamente
  • Establecer includeInBuild = true
  • Adecuado para: UI principal, sprites de juego principales, activos siempre necesarios
  • Pros: Simple, sin paquetes adicionales, acceso instantáneo
  • Contras: Aumenta el tamaño inicial de la compilación, no se puede actualizar sin una nueva compilación

Opción B: Enlace tardío vía Addressables (carga bajo demanda)

  • Los atlas NO están incluidos en la compilación, se cargan bajo demanda mediante Addressables
  • Establecer includeInBuild = false
  • Crear entradas de Addressables para cada atlas
  • Agregar configuración de Addressables como paso de precompilación
  • 🚨 REQUERIDO: Construir contenido de Addressables como paso de compilación
  • 🚨 REQUERIDO: Crear script de cargador de enlace tardío en tiempo de ejecución
  • Adecuado para: Contenido DLC, características opcionales, activos grandes, contenido descargable
  • Pros: Compilación inicial más pequeña, se puede actualizar de forma independiente, carga bajo demanda
  • Contras: Requiere paquete Addressables, carga asíncrona, dependencia de red
Caso de usoRecomendado
Sprites de UI principales que siempre están visiblesOpción A: Incorporados
Sprites de tutorial o incorporaciónOpción A: Incorporados
Sprites específicos de nivel (100+ niveles)Opción B: Addressables
Contenido DLC o de temporadaOpción B: Addressables
Sprites de UI localizados (múltiples idiomas)Opción B: Addressables
Skins de personajes o cosméticosOpción B: Addressables

2. Modo SpritePacker (REQUERIDO)

Habilita el modo Sprite Packer antes de crear atlas, luego lee el valor de vuelta y confirma que tuvo efecto. Usa el código en resources/enablespritepacking.cs; establece EditorSettings.spritePackerMode y configura los ajustes de empaquetado del importador.

Este es el paso que decide si el atlas que produces es real. Disabled es el valor cero de SpritePackerMode, por lo que cualquier proyecto donde nadie lo ha establecido lleva el empaquetado deshabilitado, y un atlas creado mientras está Deshabilitado aún importa, aún aparece como un activo y aún parece terminado, pero nunca puede empaquetar. Unity lo dice en el Inspector: "El empaquetado de atlas de sprites está deshabilitado". Nada más en el flujo de trabajo falla, por lo que un atlas enviado de esta manera se lee como un éxito. No asumas que un proyecto está ya configurado: lee el valor.

Por lo tanto, no trates "lo configuré" como hecho. Después de configurarlo, lee EditorSettings.spritePackerMode de vuelta, confirma que no sea Disabled, e informa el valor que realmente leíste. Si no puedes leerlo de vuelta, dilo en lugar de asumir que la escritura se realizó.

NO edites archivos meta DIRECTAMENTE.

🚨 CRÍTICO: El enfoque predeterminado es la generación de precompilación

SIEMPRE usa IPreprocessBuildWithReport para generar o actualizar automáticamente los SpriteAtlases durante la canalización de compilación. Este es el enfoque PREDETERMINADO y REQUERIDO a menos que el usuario solicite EXPLÍCITAMENTE la creación manual.

❌ NO crees scripts de elementos de menú manuales

NUNCA crees scripts con atributos [MenuItem] para la generación de atlas a menos que se solicite explícitamente. El enfoque de precompilación elimina la necesidad de clics manuales. Solo usa la creación manual para: Diseños optimizados a mano, disposiciones de sprites específicas o requisitos de vista previa en el editor. Consulta Avanzado: Creación manual.

🚨 CRÍTICO: Restricción de ubicación de origen de sprites

Solo agrega sprites de la carpeta Assets del proyecto. NUNCA agregues sprites de activos incorporados de Unity, paquetes o ubicaciones externas. Los activos incorporados de Unity no se pueden empaquetar en SpriteAtlas, y los activos de paquetes pueden causar problemas de importación/dependencia.

Arquitectura crítica V2

ContextoComponentePropósitoUso permitido
EditorSpriteAtlasAssetCreación y edición de atlasSolo en scripts del editor (Editor folder)
Tiempo de ejecuciónSpriteAtlasCarga y uso de atlas empaquetadosSolo en scripts de tiempo de ejecución
CompilaciónIPreprocessBuildWithReportGeneración automática de atlasSolo en scripts del editor (Editor folder)

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

unity-technologies/2d-pixel-perfect

Sets up, diagnoses, and fixes pixel perfect 2D rendering in Unity projects. Use when working on any retro-style or pixel art 2D game.

unity-technologies/audio-setup-mixers

Scans the scene and audio assets to appropriately route Audio Sources into existing Audio Mixer Groups, classifying each source by what it plays. Use when the user asks about cleaning up mixer assignments, routing audio through a mixer, or which group a sound belongs in. Creating mixers and groups, and setting volumes, are not automated — the skill inventories what exists and asks the user to add anything missing.

unity-technologies/build-live-game

Build and operate a live game using Unity Services. Use when the user needs to implement, connect, or debug backend-driven features — battle passes, achievements, player progression, cloud saves, leaderboards, matchmaking, virtual economies, server-authoritative logic, anti-cheat, player accounts and authentication, remote configuration, feature flags, A/B testing, analytics, or cloud resource deployment. Triggers on live-ops, live service, backend, server authority, cloud code, cloud save, remote config, player data, retention, monetization loop, season pass, ranking, multiplayer sessions, lobbies, or any Unity Services integration.

unity-technologies/generate-editor-search-query

Generates Unity Search / Quick Search queries and opens the Unity Search window for read-only Unity Editor asset or scene-object lookup requests. Always use when the user asks to find, search, show, locate, filter, look up, query, or list concrete assets or scene objects in the current project or scene, even if Unity Search is not named. Covers materials, textures, prefabs, scenes, scripts, shaders, GameObjects, components, Lights, Cameras, UI objects, labels, paths, references, selected or named assets, and asset types. Also use when the user explicitly mentions Unity Search, Quick Search, Search window, open Search, or asks what Unity Search query to use. Do not use for general project overview, project structure, folder-purpose summaries, gameplay/system explanations, how-to programming questions, web search, repository text search, build logs, package installation, menu or settings search, modifying results, or non-Unity filesystem search unless the user explicitly asks to use Unity Search.

unity-technologies/implement-in-app-purchases

Implement, configure, and debug Unity In-App Purchases (IAP) — store connection, product catalog, consumable/non-consumable/subscription purchases, two-step pending-confirm flow, receipt validation, entitlement checking, restore transactions, Apple extensions (promotional purchases, Ask-to-Buy, code redemption), and Google Play extensions (subscription upgrade/downgrade), D2C Capabilities(direct to customer), 3rd party payment provider (Stripe/Coda) via Unity IAP/Unity Cloud. Use when the user needs to add, modify, debug, or migrate from native Android/iOS billing, 3rd party packages(RevenueCat/Adapty/Essential Kit/Unipay supported) to IAP. Triggers on microtransactions (MTX), monetization, real-money purchases, store purchases, buying items, support D2C, purchase via Stripe/Coda, migrate from native billing(Google's BillingClient or Apple's StoreKit/SKPaymentQueue/SKProduct)/RevenueCat/Adapty/EssentialKit/Unipay.

unity-technologies/initialize-ai-navigation

Sets up and configures the Unity AI Navigation system — NavMesh surfaces, NavMesh agents, obstacles, links, modifiers, areas and costs. Use when creating walkable navigation meshes, adding pathfinding agents, setting up patrol routes, configuring obstacle avoidance and carving, connecting separate NavMeshes with links, coupling navigation with animation, or troubleshooting navigation issues.

unity-technologies/levelplay-unity-integration

Integrates the LevelPlay Mediation SDK via the Ads Mediation UPM package. Use when a developer asks about adding ads to a Unity game, implementing rewarded, interstitial, or banner ads, setting up ad mediation, configuring ad networks, installing or updating the Ads Mediation package, troubleshooting LevelPlay namespace errors, resolving Android gradle or iOS CocoaPods dependency issues for ads, configuring ATT or privacy settings for ad compliance, tracking impression-level revenue (ILRD), initializing the LevelPlay SDK, or setting up ad unit IDs. Also use when a developer wants to monetize their Unity game with ads, asks how to get started with LevelPlay, ads, or mediation, or needs help with any part of the LevelPlay integration workflow including platform-specific setup for iOS or Android. Also use when upgrading the LevelPlay or IronSource SDK version, migrating from deprecated IronSource.Agent APIs, or migrating a game from Unity Ads to LevelPlay.

unity-technologies/localization

Sets up and configures Unity Localization, including locales, String/Asset Tables, CJK font support, and Addressables workflows. Use when the user wants to add languages to a project, translate UI text, support Asian (CJK) languages with TMP fonts, or mentions i18n, l10n, multilingual support, or making a game support multiple languages.

unity-technologies/migrate-birp-to-urp

Plans, executes, and troubleshoots Unity projects moving from the Built-in Render Pipeline (BiRP/BIRP/Built-in RP) to the Universal Render Pipeline (URP). Use when the user asks to upgrade, convert, switch, or migrate a project, scene, material, or shader to URP/Universal Render Pipeline; fix pink or magenta materials after URP; convert Built-in materials/shaders; move a 2D project to URP 2D; review lighting, quality, post-processing, baked lightmaps, or reflection probes after URP; or diagnose visual problems after a render-pipeline migration.

Skills relacionados