C# para Unity · Sección 11

Herramientas y extensiones del Editor

Custom Inspector, EditorWindow, SerializedProperty, Undo y AssetDatabase para automatizar tareas de autoría sin contaminar el runtime.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene haber comprendido Arquitectura y organización del proyecto.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Custom Inspector con EditorWindow y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.

04 / PREPARA EL LABORATORIO

Instala Unity Hub, una versión LTS compatible y un IDE con integración para C#. Conserva un proyecto de laboratorio separado.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Custom Inspector y EditorWindow? +

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Crearás herramientas de autoría que ahorren tareas repetitivas y respeten serialización, Undo, persistencia y separación entre Editor y runtime.

Al terminar podrás
  • SerializedProperty conserva el comportamiento del sistema de Unity
  • EditorWindow debe resolver una tarea concreta y validada
  • AssetDatabase, Undo y rutas válidas protegen el trabajo
01
Extender el Inspector

SerializedProperty conserva el comportamiento del sistema de Unity

Un Custom Inspector usa Editor y CustomEditor. Dibujar propiedades mediante SerializedObject y SerializedProperty respeta serialización, edición múltiple y Undo mejor que modificar campos directamente.

01

El script de editor vive en carpeta o ensamblado Editor.

02

Update y ApplyModifiedProperties rodean la edición.

03

Conserva el Inspector predeterminado cuando no hay una necesidad clara.

Comprueba lo aprendido · 01

¿Por qué editar target.radio directamente puede ser problemático?

Mostrar respuesta +

Puede saltarse serialización, Undo, edición múltiple y persistencia. SerializedProperty integra la herramienta con el flujo esperado del Editor.

02
Automatizar un flujo

EditorWindow debe resolver una tarea concreta y validada

Una ventana personalizada mantiene estado temporal y reúne los campos necesarios para generar o revisar contenido. Antes de programarla, conviene describir el flujo manual, sus errores frecuentes y el resultado observable.

01

Deshabilita acciones cuando faltan datos.

02

Muestra errores cerca del campo responsable.

03

No conviertas la ventana en otro sistema general sin necesidad.

Comprueba lo aprendido · 02

¿Cuál es una señal de que no necesitas una EditorWindow?

Mostrar respuesta +

Que la tarea ocurre una sola vez, tiene pocos campos y el Inspector normal o un menú contextual la resuelve sin agregar mantenimiento.

03
Guardar correctamente

AssetDatabase, Undo y rutas válidas protegen el trabajo

AssetDatabase crea, busca y guarda assets durante edición. Las rutas deben estar dentro de Assets y ser únicas. Undo.RecordObject o la API equivalente debe registrarse antes de modificar objetos existentes, y el resultado debe quedar seleccionado o comunicado.

01

Valida y genera una ruta única.

02

Registra Undo antes del cambio.

03

Guarda, refresca cuando corresponda y selecciona el resultado.

Comprueba lo aprendido · 03

¿Por qué una herramienta de Editor debe probar Undo y persistencia además de su resultado visual?

Mostrar respuesta +

Porque una interfaz puede parecer correcta mientras pierde cambios, rompe edición múltiple o impide deshacer; esos comportamientos forman parte de su contrato.

Resumen de la sección

Tu recorrido en tres ideas

  1. SerializedProperty conserva el comportamiento del sistema de Unity
  2. EditorWindow debe resolver una tarea concreta y validada
  3. AssetDatabase, Undo y rutas válidas protegen el trabajo
PROFUNDIZACIÓN / LABORATORIO GUIADO

Crea un generador seguro de items

Relaciona necesidad de autoría, SerializedProperty, validación, Undo, AssetDatabase y persistencia.

CASO

Diseño repite doce pasos para crear un item y a veces sobrescribe IDs o guarda assets en la carpeta equivocada.

Procedimiento

  1. Convierte el flujo manual en campos, validaciones y resultado esperado.
  2. Implementa una ventana que genere una ruta única y cree el asset.
  3. Prueba entrada vacía, duplicado, Undo, edición múltiple y reinicio del Editor.

Evidencia mínima

  • Tiempo o pasos antes y después.
  • Ningún asset creado con datos inválidos.
  • Resultado persistente, localizable y reversible.
Mostrar razonamiento modelo +

La herramienta deshabilita Crear hasta validar, usa APIs serializadas, genera una ruta única, registra cambios y selecciona el asset. Los errores se muestran antes de modificar el proyecto.

Para ir más lejos

¿Qué parte convendría ejecutar como validación automática sin interfaz?

CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Modificar target directamente y perder Undo, edición múltiple o persistencia.

ERROR 02

Crear una herramienta compleja sin medir primero el flujo manual que debe mejorar.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Construye una ventana que valide y cree un asset de item en una ruta única, permita deshacer cambios y seleccione el resultado.

Mostrar pauta de corrección +
Una respuesta sólida:
  • El código vive solo en Editor y usa propiedades serializadas cuando corresponde.
  • Entradas incompletas o duplicadas no crean assets.
  • Undo, guardado, ruta y resultado se comprueban explícitamente.