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.Git
ywinget 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 pull
y no haya locks pendientes.
- Abre PR a
4) Reglas de convivencia (evita dolores)
- Siempre
git pull
antes de abrir UE5. - Lock cualquier
.umap
/.uasset
que 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
) .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
yConfig/.keep
(para que las carpetas existan)scripts/setup_git_lfs.ps1
(Windows) yscripts/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
- 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.uproject
a 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.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.
- 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.umap
siguiendo elDocs/COLAB_GUIDE.md
. - Empezá a crear/guardar tus Level Instances en
Content/Maps/LevelInstances/
y usengit lfs lock
al editarlas.