Unreal Engine 5 + GitHub

Guía corta y clara para trabajar Unreal Engine 5 + GitHub entre dos personas sin pisarse.

1) Preparación (una sola vez)

  1. Instalen Git y Git LFS en ambas PCs
    • Windows: winget install Git.Git y winget install Git.GitLFS
    • Luego: git lfs install
  2. Crea el repo en GitHub (privado mejor).
  3. Clona el repo en ambas máquinas (misma ruta si pueden).
  4. Dentro del repo, agrega estos archivos:

.gitignore (UE5 recomendado)

# Unreal/IDE
.vs/
.idea/
.vscode/
*.sln

# Carpetas generadas
Binaries/
DerivedDataCache/
Intermediate/
Saved/
Build/*/x64/*
# Si compilan C++: excluir /Binaries y /Intermediate

# Sistema/OS
.DS_Store
Thumbs.db

.gitattributes (activar LFS para assets Unreal)

# Archivos grandes/binary de Unreal
*.uasset filter=lfs diff=lfs merge=lfs -text
*.umap   filter=lfs diff=lfs merge=lfs -text
# (opcional)
*.png    filter=lfs diff=lfs merge=lfs -text
*.jpg    filter=lfs diff=lfs merge=lfs -text
*.wav    filter=lfs diff=lfs merge=lfs -text
*.uplugin filter=lfs diff=lfs merge=lfs -text
  1. Primer commit: sube solo tu .uproject, la carpeta Content/ (vacía o con StarterContent si quieren) y Config/. Nada de Binaries/, Intermediate/, Saved/, etc.

2) Conectar el proyecto a control de versiones desde UE5

  1. Abre el .uproject.
  2. Source Control (icono en la barra) → Connect to Source Control…
  3. Elige Git → marca “Use Global Git LFS configuration”Accept Settings.
  4. Verás los iconitos de control de versiones en el Content Browser.

3) Flujo de trabajo diario (simple y seguro)

  1. Crear rama por tarea
    • git checkout -b feature/personaje-lowpoly (por ejemplo)
  2. Bloquear archivos binarios que vas a editar (evita conflictos):
    • En la raíz del repo (o terminal de Git dentro de UE): git lfs lock Content/Maps/NivelPrincipal.umap git lfs lock Content/Personaje/MyChar.uasset
    • Al terminar: git lfs unlock <archivo>
    GitHub soporta “locks” de Git LFS. Úsenlos para .umap y .uasset.
  3. Trabajar en UE5
    • Preferir World Partition + One File Per Actor (OFPA) para que el nivel se parta en muchos archivos y reducir choques.
    • Si no usan WP, acordar “un nivel por persona” o usar Level Instances/Sublevels.
    • En Blueprints, evitar editar el mismo asset a la vez (son binarios).
    • Periódicamente: Content Browser → Right-click en Content → Fix Up Redirectors antes de commitear.
  4. Commit y push
    • Pequeños commits con mensaje claro.
    • git add -Agit commit -m "Anim BP: locomotion básico"git push -u origin feature/personaje-lowpoly
  5. Pull Request
    • Abre PR a main. Tu amigo revisa y aprueba.
    • Mergea solo cuando ambos hayan git pull y no haya locks pendientes.

4) Reglas de convivencia (evita dolores)

  • Siempre git pull antes de abrir UE5.
  • Lock cualquier .umap/.uasset que toques. (Puedes ver los bloqueos con git lfs locks.)
  • No commitear Binaries/, Intermediate/, Saved/, DerivedDataCache/.
  • Si cambian nombres/mueven assets: Fix Up Redirectors y un solo commit que contenga el movimiento.
  • Conflicto en binarios = generalmente uno de los dos pierde cambios. Por eso usen locks y/o subniveles.
  • Consideren ramas: main (estable), dev (integración), feature/* (trabajo diario).

5) Alternativas útiles

  • Si el proyecto crece y los conflictos aumentan, Perforce es el VCS recomendado por Epic para equipos (locking nativo). Pero con GitHub + LFS + locks + OFPA funciona bien para 2–3 personas.

6) Checklist rápido

  • Git + Git LFS instalados (git lfs install)
  • .gitignore y .gitattributes listos
  • Repo con Config/, Content/, .uproject
  • UE5 conectado a Git
  • Acordado: ramas, locks y niveles/subniveles
  • Usar Fix Up Redirectors antes de cada PR

Estructura mínima de proyecto

Paquete inicial UE5 + GitHub con:

  • .gitignore (ignora Binaries/Intermediate/Saved/DDC, etc.)
  • .gitattributes (Git LFS para .uasset, .umap, imágenes, audio…)
  • Content/.keep y Config/.keep (para que las carpetas existan)
  • scripts/setup_git_lfs.ps1 (Windows) y scripts/setup_git_lfs.sh (Linux/macOS)
  • README.md con los pasos rápidos y buenas prácticas

Descárgalo aquí: ue5-github-starter.zip

Cómo usarlo en 1 minuto

  1. Crea un repo vacío en GitHub y clónalo a tu PC.
  2. Descomprime el zip dentro del repo (en la raíz).
  3. Ejecuta el script de tu SO:
    • Windows (PowerShell): ./scripts/setup_git_lfs.ps1
    • Linux/macOS: bash ./scripts/setup_git_lfs.sh
  4. Copia tu TuProyecto.uproject a la raíz del repo (o crea un proyecto UE5 ahí).
  5. En UE5: Source Control → Git → Accept Settings.
  6. Empiecen a trabajar con ramas y locks para .umap/.uasset: git lfs lock Content/Maps/NivelPrincipal.umap git lfs unlock Content/Maps/NivelPrincipal.umap

Plantilla básica

Plantilla de colaboración para UE5 con estructura de subniveles, Level Instances y guía paso a paso para activar World Partition + OFPA.

Qué trae:

  • Content/Maps/, Content/Maps/LevelInstances/, Content/Maps/Sublevels/ y carpetas base (Blueprints, Characters, Environment, Materials, Meshes, Textures, Audio, UI).
  • Docs/COLAB_GUIDE.md con instrucciones concretas:
    • Crear Main.umap con World Partition.
    • Activar One File Per Actor.
    • Crear Level Instances (LI_Escenario, LI_Personajes, etc.) y cómo trabajar cada uno sin pisarse.
    • Uso de Git LFS locks para .umap/.uasset.
    • Convenciones de nombres y flujo de trabajo recomendado.

Cómo integrarlo con el paquete anterior:

  1. Copiá el contenido del ue5-collab-skeleton.zip dentro del repo donde ya pusiste el UE5 + GitHub starter.
  2. Crea el Main.umap siguiendo el Docs/COLAB_GUIDE.md.
  3. Empezá a crear/guardar tus Level Instances en Content/Maps/LevelInstances/ y usen git lfs lock al editarlas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *