martes, 29 de septiembre de 2015

Preparar un proyecto de Unity3D para Git

Si queremos trabajar en un proyecto varias personas,  ya sea trastear con sus diferentes escenarios, configuraciones, código, imágenes, sonidos, etc... Lo ideal sería usar un repositorio para poder editar todos cosas a la vez pudiendo sincronizarse a través de la red, aquí veremos una buena configuración de Unity3D para cualquier tipo de repositorio y como usar uno de ellos, en este caso Git, que no solo es el mas popular a día de hoy si no que además, es el que yo mismo suelo usar tanto para trabajar como para, a partir de ahora, subir mis ejemplos como dije en la entrada anterior.
Unity + Git
Sincronizando Unity3D y Git
En primer lugar pasaremos por la configuración de Unity3D que es lo más rápido y que por supuesto, una vez configurado, nos servirá para cualquier tipo de repositorio (CVS, GIT, SVN...), solo debemos de abrir Unity3D y en la barra de menú abrir Edit > Project Settings > Editor para que nos salga este menú el cual deberemos configurar.
Los valores borrosos no son necesarios para el repositorio, esos podemos dejarlos como estén o en todo caso, adaptarlos a nosotros, pero ese es otro tema que abarcar otro día, por último recordar que hay valores que se le añaden a esta configuración dependiendo de la plataforma para la que vayas a crear el juego, lo importante son estos dos parámetros.

Version Control Mode: En este caso hay que usar la opción Visible Meta Files para que los archivos generados por Unity (Los que terminan en extensión .Meta) se puedan subir al servidor, esto es muy importante ya que ahí guardamos la configuración de los mismos y para que todos tengamos bien sincronizado todo, deberíamos subir todos los '.meta' siempre al servidor.

Asset Serialization: Hay que especificar la opción Force Text para que tanto las escenas, como los prefabs se guarden en modo texto por lo cual podrían verse los cambios en GIT y a su vez, si fuese necesario, poder hacer "merge" en caso de conflicto entre el archivo que tenemos nosotros y el que hay en el servidor para crear un archivo que conserve nuestros cambios y los de servidor.

Finalmente aconsejo, para ahorrar espacio innecesario en el repositorio, además de ser totalmente innecesario subirlo e incluso nos saldrán muchos archivos que cambiarán constantemente ya que son temporales durante la creación de la aplicación y para uso en memoria, no influyen en el estado del proyecto, aquí pondré el archivo '.ignore' que yo suelo usar para ignorar dichos archivos y no subirlos a nuestro servidor, este archivo debería estar en la raiz de nuestro proyecto.

# =============== #
# Unity generated #
# =============== #
Temp/
Library/

# ===================================== #
# Visual Studio / MonoDevelop generated #
# ===================================== #
ExportedObj/
obj/
*.svd
*.userprefs
/*.csproj
*.pidb
*.suo
/*.sln
*.user
*.unityproj
*.booproj

# ============ #
# OS generated #
# ============ #
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

Con esto podremos evitar añadir los archivos temporales, de sistema y generados por Unity3D que no son necesarios para que, cuando otra persona se una al proyecto, o quieras volver a descargar el proyecto, te ahorres ese tiempo de espera, ya que Unity3D te los generará el solo, los tengas o no.

Para la siguiente aprovecharé para explicar como configurar nuestro proyecto de GitHub además de explicar algunos conceptos básicos de como usar un repositorio para aquellos que no lo tengan muy claro.

No hay comentarios:

Publicar un comentario