¿Por qué los usuarios de Git cambian al control de versiones de Unity?
Git es de código abierto, gratuito y flexible; es una solución de control de versiones (VCS) popular, pero puede ser desalentador para quienes no tienen tanto conocimiento técnico. Cuando se les presentan problemas a los artistas, necesitan programadores para solucionarlos: no se integra con sus herramientas y se quiebra por el peso de grandes archivos binarios comunes en el desarrollo de juegos.

Return to Nangrim de Sycoforge
Beneficios que obtienen los usuarios de Git del control de versiones de Unity
El control de versiones de Unity está diseñado para el desarrollo de juegos. Esto es lo que puedes obtener al actualizar desde Git.

Velocidad con repositorios grandes y archivos binarios
El control de versiones de Unity no se rompe, incluso con repositorios de más de 5 TB, y puede procesar las actualizaciones y las cargas de código (check-ins) con mayor rapidez que otras soluciones.

Colaboración mejorada con los artistas
Los artistas pueden emplear el control de versiones de Unity de forma independiente a través de Gluon, un flujo de trabajo fácil de usar con bloqueo de archivos. Los programadores mantienen su flujo de trabajo estándar con ramificación y fusión completas.

Trabaja de forma centralizada o distribuida
Elegir un VCS suele implicar decidir entre trabajar de forma centralizada y distribuida. El control de versiones de Unity ofrece ambas opciones: obtén la velocidad y el poder de los flujos de trabajo estilo Git con una escalabilidad similar a la de Perforce.

Simplifica el mantenimiento con mayor flexibilidad
El control de versiones de Unity viene preparado para admitir múltiples flujos de trabajo y archivos grandes, por lo que no es necesario conservar sistemas o complementos redundantes. Mantén una cadena de herramientas ágil y de alto rendimiento.
Debido a las soluciones DevOps de Unity, los programadores obtienen una amplia variedad de funcionalidades y, al mismo tiempo, mantienen todo simplificado para los artistas. ¿Notas que falta algo en la lista? Consulta nuestra hoja de ruta de DevOps.

Ahorra tiempo y minimiza el cambio de tareas
La tecnología de fusión con reconocimiento de código de Unity, SemanticMerge, rastrea el código trasladado para que puedas centrarte solo en los cambios relevantes. Al analizar la sintaxis, automatiza entre el 16 y el 30 % de las fusiones de código que normalmente requieren una fusión manual, lo que reduce drásticamente los conflictos de fusión que desviarán tu atención del flujo de trabajo.
En el control de versiones de Unity, se analizará una refactorización y se evaluará si partes del código, tales como un método, se movieron, incluso entre varios archivos. Esto permitirá que te enfoques, en tu revisión, solo en los cambios más esenciales. Es compatible con C#, Java, VB.NET y más.

Utiliza el control de versiones de Unity como cliente de Git
La función GitSync del control de versiones de Unity permite hacer una sincronización bidireccional entre este y Git. El control de versiones de Unity se comunica con los protocolos de red de Git para enviar y recibir paquetes y se fusiona con un servidor remoto de Git (y viceversa). Esto te permite usar la GUI del control de versiones como un cliente de Git: debido a que el control de versiones de Unity está estructurado de manera similar a Git, puedes intercambiar todos los conjuntos de ediciones, ramas y fusiones entre ellos.

Importación y exportación rápidas
Con el control de versiones de Unity, se implementan comandos de importación y exportación rápidas, los cuales son totalmente compatibles con sus homólogos de Git. Estos comandos se usan para importar tu proyecto de Git al control de versiones de Unity y como una forma de prescindir del control de versiones de manera segura en caso de que fuese necesario. Para realizar operaciones diarias habituales, GitSync es una opción más sencilla.

Utilizar el ecosistema de Git
Cualquier herramienta del ecosistema de Git puede conectarse instantáneamente al control de versiones de Unity mediante las funcionalidades nativas de Git. Los equipos que usan el control de versiones pueden beneficiarse de todas las integraciones de gestión de proyectos, CI y DevOps desarrolladas específicamente para Git.
GitServer es la contraparte del lado del servidor de GitSync. Cierra el ciclo de interoperabilidad de Git al permitir que el control de versiones de Unity utilice protocolos de Git (compatibles con Git y HTTP) para trabajar con los repositorios.
Juegos que lo hacen realidad
Goodbye Volcano High
¿De qué modo un estudio cooperativo propiedad de los empleados alinea tanto a los artistas como a los ingenieros en un proceso de producción? Descubre cómo KO_OP potenció la colaboración con Plastic SCM (ahora el control de versiones de Unity).
Return to Nangrim
Descubre cómo Sycoforge aprovechó las herramientas de Unity para administrar el creciente alcance de su proyecto e integrar los comentarios de los jugadores para obtener un desarrollo rápido e iterativo del juego.
Subnautica
Descubre por qué Unknown Worlds eligió Unity y Plastic SCM (ahora el control de versiones de Unity) para hacer realidad Subnautica.
Preguntas frecuentes
El control de versiones de Unity también es un DVCS (sistema de control de versiones distribuido). Por lo tanto, utilizarás el mismo flujo de trabajo: primero se realiza la confirmación (registro) y luego se envían los cambios al repositorio remoto. Con el control de versiones, puedes trabajar de manera centralizada si lo deseas. Al estilo SVN, ¿se realiza el registro sin un clon intermedio? Es posible.
Si bien a los programadores les encantará el DVCS, otros roles como artistas y diseñadores probablemente optarán por trabajar de manera centralizada.
Sí. Todo en el control de versiones de Unity se puede realizar de manera visual desde la GUI. Utilizarás Branch Explorer para todo aquello que esté relacionado con ramas y fusiones.
Sí, y puedes hacer réplicas parciales, lo que significa que simplemente puedes extraer una ramificación sin traer todas las ramas principales y puedes fusionar fuentes, agregar cambios y retroceder.
No es necesario «clonar» el repositorio completo para comenzar a trabajar en un repositorio replicado en el control de versiones de Unity. Simplemente puedes ejecutar lo que llamamos una réplica parcial, que es mucho más rápida, luego trabajar en el repositorio, realizar nuevos cambios y retroceder.
Este es el equivalente a un clon superficial con una profundidad restringida, pero capaz de retroceder.
Fusionar en el control de versiones de Unity es aún mejor. El motor de fusión del control de versiones puede manejar movimientos y cambios de nombre que hacen que Git se rompa. El control de versiones de Unity también incluye sus propias herramientas de diferenciación y fusión.
En el control de versiones de Unity, es posible manejar archivos enormes: el límite no está dado por lo que cabe en la RAM. El control de versiones también es bueno con repositorios enormes.
Los «remotos» no existen en el control de versiones de Unity. Simplemente envía y extrae las ramas que quieras a los repositorios que desees: no hay necesidad de definir los remotos primero.
Los submódulos del control de versiones de Unity se denominan Xlinks y son una versión muy mejorada y simplificada de los submódulos. Crearlos es simple con soporte total de GUI y el proceso tedioso de actualizar un submódulo no existe con Xlinks: son capaces de gestionar las referencias de forma manual. Las ramas en los directorios de Xlink se crean automáticamente, lo que hace que las ramas de características sean muy simples en escenarios de varios repositorios.
El control de versiones de Git incluye una amplia gama de funciones y soporte de la comunidad, mientras que el control de versiones de Unity incluye flexibilidad para diferentes flujos de trabajo y maneja archivos de gran tamaño de forma inmediata. Lo que funciona mejor para una organización puede no funcionar tan bien para otra. Para obtener consejos útiles y evaluar que es lo mejor para ti, descubre más información en este blog.
El control de versiones de Unity no es Git, aunque permite el control de versiones distribuido (DVCS) como un sistema de Git. El control de versiones de Unity incluye todas las fortalezas de Git y luego se le suma la compatibilidad con archivos grandes, GUI estables, permisos basados en ACL, capacidad para procesar repositorios enormes, fusión eficiente, réplica parcial, diferenciación semántica y mucho más.