Traduce solicitudes de búsqueda de Unity Editor en lenguaje natural a consultas útiles de Unity Search, explícalas brevemente y abre la ventana de Unity Search con la consulta cuando sea apropiado.
Comportamiento predeterminado
Si la solicitud menciona explícitamente Unity Search, Quick Search, la ventana de búsqueda, abre Búsqueda o pide una consulta de Unity Search, maneja la solicitud con esta habilidad incluso si el objetivo pertenece a otro dominio como iluminación, interfaz de usuario, física, audio o animación.
Para solicitudes como "encontrar", "buscar", "localizar", "listar", "filtrar", "consultar", "dónde está", "qué activos usan" o "qué referencias" de activos concretos de Unity u objetos de escena:
- Determina si la solicitud se trata principalmente de activos del proyecto, objetos de escena o ambos.
- Construye una consulta concisa de Unity Search.
- Muestra la consulta en la respuesta antes o mientras se abre la búsqueda.
- Abre Unity Search ejecutando el fragmento del Editor a menos que el usuario solicite explícitamente solo el texto de la consulta.
- Si falla la apertura de la búsqueda, devuelve la consulta e indica al usuario que la pegue manualmente en Unity Search.
No abras la búsqueda cuando el usuario diga "no abras la búsqueda", "solo la consulta", "qué consulta debería usar", "dame solo la consulta" o similar.
Si el usuario pide una explicación general, visión general del proyecto, resumen de la estructura de carpetas, recorrido de la arquitectura, resumen del sistema de juego o una respuesta de programación de tipo "cómo hago para", no uses esta habilidad a menos que la solicitud pida explícitamente Unity Search, una consulta de búsqueda o abrir la ventana de búsqueda.
Si el usuario se refiere a "esto", "seleccionado" o "actual" sin un activo adjunto, objeto de escena, nombre visible o ruta, pregunta por el nombre/ruta en lugar de inventarlo.
Alcance
Limita las consultas de solo lectura de Unity Search / Quick Search a:
- activos del proyecto como materiales, texturas, prefabs, escenas, scripts, shaders, clips de audio, sprites, mallas, modelos, animaciones, fuentes, texturas de renderizado y activos ScriptableObject
- objetos y componentes de escena como Cámaras, Luces, Rigidbodies, Colliders, Renderers, objetos Canvas, componentes de UI, ParticleSystems, AudioSources, Animators, objetos Terrain y GameObjects con nombre
- búsquedas de activos por ruta, etiqueta, tipo, nombre de archivo, palabra clave y referencias
- activos seleccionados o con nombre cuando el nombre/ruta esté disponible en la conversación o archivo adjunto
No instales paquetes, ejecutes comandos de menú, edites activos, modifiques escenas, busques documentación externa, busques texto en el repositorio, inspecciones registros de compilación, elimines resultados, corrijas resultados de búsqueda ni realices análisis del grafo de dependencias. Si el usuario pide actuar sobre los resultados, primero abre la búsqueda o proporciona la consulta, luego pide confirmación antes de cualquier otra habilidad o flujo de trabajo modificador.
Referencias
Antes de generar consultas no triviales, lee referencias/query-patterns.md.
Antes de abrir la ventana de búsqueda, lee referencias/open-search-window.md.
Referencias oficiales en inglés:
Pasar C# a eval
eval compila un bloque de instrucciones, no un archivo. Dos consecuencias, ambos errores de compilación:
- Sin directivas
using. El compilador leeusing UnityEditor;como una instrucción de liberación de recursos y la rechaza (CS0210). - Los tipos deben estar completamente calificados. Un
SearchServicesimple no se resuelve (CS0246), y unObjectsimple es ambiguo conobject(CS0104).
La habilidad unity-cli posee los prerrequisitos: instalar la CLI, confirmar un Editor conectado, añadir el paquete com.unity.pipeline del proyecto y descubrir el catálogo de comandos. Necesitas eval en particular; si está ausente, genera el texto de la consulta y di que la ventana no se puede abrir.
Reglas de generación de consultas
Usa la consulta más simple que probablemente produzca el resultado solicitado.
- Prefiere filtros de tipo para solicitudes de activos y componentes, como
t:material,t:texture,t:prefab,t:scene,t:script,t:shader,t:Lightot:Rigidbody. - Conserva los nombres y palabras clave proporcionados por el usuario como términos de consulta simples a menos que necesiten comillas.
- Usa
dir:cuando el usuario dé una carpeta o diga "en Assets/..." o "bajo ...". - Usa
l:cuando el usuario pida una etiqueta de activo de Unity. - Usa
ref=cuando el usuario pregunte qué referencias, usos, dependencias, contiene o está conectado a un activo. - Usa expresiones de búsqueda solo cuando mejoren claramente la consulta, como
t:prefab ref={t:texture}ot:scene ref={t:prefab}. - Para redacción de seleccionado/actual, usa el nombre o ruta del activo seleccionado conocido solo si está presente en el contexto del chat; de lo contrario, pregúntalo.
- Para solicitudes amplias de relaciones como "dónde se usa Rigidbody", usa primero una consulta simple de palabra clave o componente, luego menciona que una auditoría con script es independiente si el usuario necesita un análisis exhaustivo de código/propiedades.
- Para solicitudes que mezclan búsqueda con trabajo de reparación, genera y abre la consulta primero; no modifiques resultados a menos que el usuario confirme explícitamente una acción de seguimiento separada.
- No inventes filtros no soportados para solicitudes inciertas. Si una solicitud no se puede expresar de forma fiable con la sintaxis de Unity Search, abre la consulta segura más cercana y expresa la limitación.
Abrir Unity Search
Ejecuta C# en el Editor solo para abrir la ventana de búsqueda. Esta es una acción de UI del Editor y no debe cambiar activos del proyecto ni contenido de la escena.
Al abrir la búsqueda:
- Escapa la consulta de forma segura en la cadena C# generada.
- Prefiere los proveedores de activos y escenas para esta habilidad v1.
- Recurre a los proveedores activos si un proveedor no está disponible.
- Registra la consulta que se abrió.
- Nunca afirmes que la búsqueda se abrió si el comando falló.
Formato de respuesta
Mantén la respuesta al usuario breve:
Consulta: `t:material`
Se abrió Unity Search con esa consulta.
Si no se abre la búsqueda:
Consulta: `t:prefab ref={t:texture}`
Pega esto en Unity Search.
Si la solicitud es ambigua pero aún se puede buscar, elige la consulta más probable y menciona la suposición. Haz una pregunta solo cuando el objetivo de búsqueda no se pueda inferir, como "encuentra la cosa" sin activo, escena, tipo, nombre o contexto.
Lista de verificación de validación
Antes de informar éxito:
- la consulta generada se muestra al usuario
- la consulta apunta a activos, objetos de escena o ambos
- la búsqueda se abrió solo cuando el usuario no optó por no hacerlo
- cualquier alternativa o incertidumbre se expresa claramente
- no se modificó ningún activo, escena, paquete, configuración de proyecto ni resultado de búsqueda