Me pidieron que respondiera esta pregunta, aunque un poco fuera del canal A2A habitual. Así que solicité al OP que lo publique aquí para que él pueda beneficiarse de otras respuestas, y para que otros también se beneficien de las respuestas.
Desafortunadamente, realmente no sé mucho sobre el motor del juego Unity, ya que está un poco fuera de mi experiencia actual.
Supongo que Unity Engine Collaboration en la pregunta se refiere a Unity Collaborate, que parece ser un servicio alojado de Unity y no un sistema de control de versiones autónomo y autónomo como Subversion o Microsoft SourceSafe (o lo que vendan ahora).
- ¿Cómo se comparan los mainframes con los servidores disponibles en la actualidad? ¿Cual es mejor?
- Si estoy pagando $ 10.5k por mes por cuatro servidores HP 3.0Ghz Xeon con 4GB de RAM, ¿es demasiado? ¿Cuáles son mis opciones?
- ¿Hay alguna buena razón para evitar instalar Git en su servidor web?
- ¿Una máquina que ejecute Windows sin una GUI y un bloatware sería un servidor tan bueno como la misma máquina que ejecuta Linux como mínimo?
- ¿Cuántos servidores tiene Quora actualmente?
Parece que Unity Collaborate es parte de Unity Teams, que es un servicio de suscripción que ofrece control de versiones, un entorno de compilación alojado y probablemente más. Si bien soy un gran defensor del bricolaje, también tiene valor la idea de centrarse en su fuerza central . En el caso del desarrollo del producto (o juego), el enfoque es “gastar sus recursos en la construcción del producto, no de las herramientas”. Esto es exactamente por qué las nuevas empresas de software a menudo usan AWS en lugar de comprar un montón de servidores y contratar a alguien para que los administre.
Dado que Unity Collaborate no parece proporcionar una versión autohospedada, mi sugerencia sería utilizar el servicio para la colaboración. Es probable que el servicio reconozca que los juegos son propiedad intelectual de alto valor y lo proteja en consecuencia.
Sin embargo, si lo que desea es un control de origen autohospedado y entornos de compilación automatizados, entonces podría considerar algo como Subversion o git. Esos son dos sistemas de control de fuente ampliamente utilizados que también son de código abierto, por lo que puede instalarlos en su propio servidor de almacenamiento sin cargo.
Para entornos de compilación, no soy realmente un desarrollador, pero muchos equipos de desarrollo con los que he trabajado usan Jenkins.
El truco es la integración de Unity, que está configurada para Unity Teams / Collaborate. Es posible que tenga que configurar algunos procesos manuales para utilizar herramientas externas (en lugar de hacer clic en algunos botones en la interfaz de usuario). Pero entonces, dado que el producto Collaboration parece un poco nuevo, esto podría ser más común de lo que sé.
Si el protocolo utilizado para Collaborate es algo como SVN / git o HTTP / WebDAV, entonces podría hacer algunos trucos de archivos DNS / hosts para apuntar su entorno Unity a su sistema de control de fuente local en lugar del servicio de suscripción. En los primeros días de iCloud, un colega mío descubrió que estaba ejecutando WebDAV bajo el capó. Así que configuró su propio servidor WebDAV y configuró su archivo de hosts para que todas las operaciones de iCloud fueran a su servidor. Pero, si te encuentras pasando demasiado tiempo en esto (tanto que no te estás enfocando en desarrollar tu juego), entonces puede que no valga la pena la molestia.
(Además, después de escribir la respuesta anterior, se me ocurrió que Unity probablemente sea compatible con recursos compartidos de redes locales, como SMB o NFS, y gestione su propia versión de alguna otra manera. Si este es el caso, configure el servidor de almacenamiento con Windows / SMB o Linux / NFS compartir debería ser tan simple como una búsqueda en Google. Sin embargo, esto no es apropiado para la colaboración basada en Internet, ya que SMB y NFS no son protocolos seguros para el acceso a Internet. Se utilizan mejor en redes locales, donde git / SVN / HTTP son más apropiados para Internet).