Guía corta y clara para trabajar Unreal Engine 5 + GitHub entre dos personas sin pisarse.
1) Preparación (una sola vez)
- Instalen Git y Git LFS en ambas PCs
- Windows:
winget install Git.Gitywinget install Git.GitLFS - Luego:
git lfs install
- Windows:
- Crea el repo en GitHub (privado mejor).
- Clona el repo en ambas máquinas (misma ruta si pueden).
- 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
- Primer commit: sube solo tu
.uproject, la carpetaContent/(vacía o con StarterContent si quieren) yConfig/. Nada deBinaries/,Intermediate/,Saved/, etc.
2) Conectar el proyecto a control de versiones desde UE5
- Abre el
.uproject. - Source Control (icono en la barra) → Connect to Source Control…
- Elige Git → marca “Use Global Git LFS configuration” → Accept Settings.
- Verás los iconitos de control de versiones en el Content Browser.
3) Flujo de trabajo diario (simple y seguro)
- Crear rama por tarea
git checkout -b feature/personaje-lowpoly(por ejemplo)
- 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>
- En la raíz del repo (o terminal de Git dentro de UE):
- 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.
- Commit y push
- Pequeños commits con mensaje claro.
git add -A→git commit -m "Anim BP: locomotion básico"→git push -u origin feature/personaje-lowpoly
- Pull Request
- Abre PR a
main. Tu amigo revisa y aprueba. - Mergea solo cuando ambos hayan
git pully no haya locks pendientes.
- Abre PR a
4) Reglas de convivencia (evita dolores)
- Siempre
git pullantes de abrir UE5. - Lock cualquier
.umap/.uassetque toques. (Puedes ver los bloqueos congit 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) .gitignorey.gitattributeslistos- 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/.keepyConfig/.keep(para que las carpetas existan)scripts/setup_git_lfs.ps1(Windows) yscripts/setup_git_lfs.sh(Linux/macOS)README.mdcon los pasos rápidos y buenas prácticas
Descárgalo aquí: ue5-github-starter.zip
Cómo usarlo en 1 minuto
- Crea un repo vacío en GitHub y clónalo a tu PC.
- Descomprime el zip dentro del repo (en la raíz).
- Ejecuta el script de tu SO:
- Windows (PowerShell):
./scripts/setup_git_lfs.ps1 - Linux/macOS:
bash ./scripts/setup_git_lfs.sh
- Windows (PowerShell):
- Copia tu
TuProyecto.uprojecta la raíz del repo (o crea un proyecto UE5 ahí). - En UE5: Source Control → Git → Accept Settings.
- 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.
- Descarga: ue5-collab-skeleton.zip
Qué trae:
Content/Maps/,Content/Maps/LevelInstances/,Content/Maps/Sublevels/y carpetas base (Blueprints,Characters,Environment,Materials,Meshes,Textures,Audio,UI).Docs/COLAB_GUIDE.mdcon instrucciones concretas:- Crear
Main.umapcon 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.
- Crear
Cómo integrarlo con el paquete anterior:
- Copiá el contenido del ue5-collab-skeleton.zip dentro del repo donde ya pusiste el UE5 + GitHub starter.
- Crea el
Main.umapsiguiendo elDocs/COLAB_GUIDE.md. - Empezá a crear/guardar tus Level Instances en
Content/Maps/LevelInstances/y usengit lfs lockal editarlas.