Qué es un paquete#
Unity es modular: muchas funciones (Input System, URP, Cinemachine, Addressables, TextMeshPro...) no vienen "de fábrica" sino como paquetes que añades cuando los necesitas. El Package Manager (Window → Package Manager) es donde los instalas, actualizas y quitas.
De dónde salen#
En el desplegable Packages de la ventana eliges la fuente:
- Unity Registry: los paquetes oficiales de Unity (lo más habitual).
- In Project: los que ya tienes instalados.
- My Assets: lo que compraste en la Asset Store.
- Built-in: módulos del motor que puedes activar/desactivar.
Buscas, seleccionas la versión y pulsas Install. Muchos paquetes traen escenas de Samples que puedes importar para aprender.
Añadir por nombre o por Git#
Para paquetes que no salen en la lista (experimentales, o de un repositorio):
- Add package by name: escribes el ID (
com.unity.cinemachine) y, opcionalmente, la versión. - Add package from git URL: instalas directamente desde un repositorio Git (muchas librerías de la comunidad se distribuyen así).
Herramientas muy usadas (por ejemplo el framework de DI VContainer, o UniTask) se instalan por Git URL o vía OpenUPM (un registro alternativo). Es la forma estándar de traer utilidades que no están en el registro oficial, sin copiar código a mano.
El manifest.json#
Todo lo instalado se anota en Packages/manifest.json (texto). Es la lista de dependencias del proyecto:
{
"dependencies": {
"com.unity.inputsystem": "1.11.2",
"com.unity.render-pipelines.universal": "17.0.3",
"com.unity.cinemachine": "3.1.2"
}
}Como el manifest.json va en el control de versiones (ver Git para Unity), todo el equipo comparte las mismas versiones de paquetes. No lo edites a mano a la ligera y evita saltar de versión mayor a mitad de producción: un cambio de major (por ejemplo Cinemachine 2 → 3) puede romper APIs. Actualiza a conciencia y prueba.
Errores frecuentes#
- Copiar código de utilidades a mano en vez de instalar el paquete (te pierdes actualizaciones).
- Actualizar un paquete a una versión mayor a mitad de proyecto sin revisar rupturas de API.
- Borrar
Packages/omanifest.jsonsin entenderlo (rompe el proyecto). - Instalar paquetes preview/experimental en producción sin ser consciente de que pueden cambiar.
- No versionar el
manifest.json→ cada miembro del equipo con paquetes distintos.
Ponte a prueba#
Resumen#
Unity es modular: sus funciones (Input System, URP, Cinemachine, Addressables...) son paquetes que gestionas en el Package Manager. Los instalas desde el Unity Registry, por nombre o por Git URL (comunidad, OpenUPM). Todo queda anotado en Packages/manifest.json, que va al control de versiones para que el equipo comparta las mismas versiones: fíjalas y actualiza con cabeza para no romper APIs a mitad de proyecto.