Wiki
Cliente de escritorio
El cliente de escritorio de uVersion para Windows, macOS y Linux: instalación, workspace, pestañas, ajustes.
Instalación
El cliente de escritorio es una aplicación nativa disponible para Windows, macOS (Apple Silicon)
y Linux. Los instaladores de Windows, macOS y Linux también incluyen la CLI uversion y la dejan
accesible. Descárgalo en /downloads.
Windows
Descarga uVersion_x.y.z_x64-setup.exe (instalador NSIS firmado, ~25 MB).
Al ejecutarse, el instalador:
- Instala el cliente en
%LOCALAPPDATA%\uVersion(por usuario, sin necesidad de administrador) - Añade la carpeta de instalación al PATH del usuario (la CLI
uversion.exeviene incluida allí) - Crea un acceso directo en el menú de inicio
- Habilita la actualización automática mediante el actualizador de Tauri
macOS (Apple Silicon)
Descarga uVersion_x.y.z_macos-arm64.app.zip (~32 MB, firmado con Developer ID y
notarizado por Apple). Haz doble clic para descomprimir y luego arrastra uVersion.app a
/Applications. En el primer inicio, Gatekeeper valida automáticamente la
notarización, sin ninguna advertencia.
La CLI uversion viene incluida en la app. En el primer inicio, el cliente crea
automáticamente un enlace simbólico a ~/.local/bin/uversion y añade
~/.local/bin a tu PATH mediante ~/.zprofile: no se requiere ninguna acción manual.
Abre una nueva terminal y uversion estará disponible.
Nota: solo se admite Apple Silicon (M1/M2/M3/M4). No hay binario para Intel.
Linux
Dos formatos para x86_64:
-
AppImage (
uVersion_x.y.z_amd64.AppImage, ~76 MB): portátil, incluye todas las dependencias (libwebkit2gtk, libgtk, libsoup, etc.). Funciona en cualquier distribución de Linux sin instalación en el sistema:chmod +x uVersion_x.y.z_amd64.AppImage ./uVersion_x.y.z_amd64.AppImage -
Paquete .deb (
uVersion_x.y.z_amd64.deb, ~5 MB): para Ubuntu / Debian / derivados. apt resuelve las dependencias del sistema:
La app se instala ensudo apt install ./uVersion_x.y.z_amd64.deb/usr/bin/uVersion.
Nota: la CLI uversion viene incluida en los paquetes de Linux. En el primer inicio,
el cliente copia el binario en ~/.local/bin/uversion y añade
~/.local/bin a tu PATH mediante ~/.profile (no se requiere ninguna acción manual).
Primer inicio
En el primer inicio, el cliente muestra la página de inicio de sesión. Introduce:
- Dirección del servidor: la dirección de tu estudio (p. ej.
https://uversion.mygamestudio.com) - Nombre de usuario y contraseña
Una vez conectado, el cliente recuerda tu sesión de forma segura. La CLI uversion
y los plugins de editor (Unreal, Rider) reutilizan automáticamente las mismas credenciales: no
vuelves a introducir tu contraseña en ningún otro lugar.
Workspace
Un workspace es una carpeta local vinculada a un repository del servidor. El cliente puede gestionar varios
workspaces a la vez, mostrados en la barra de pestañas superior. Cada workspace almacena sus metadatos en
.uversion/ en la raíz de la carpeta local:
.uversion/config.toml: owner, repo_id, server URL, workspace UUID.uversion/checkouts_<workspace_id>.json: locks que TÚ mantienes en este workspace.uversion/changelists_<workspace_id>.json: changelists locales.uversion/.last_sync: última revisión synced (para syncs incrementales)
Pestaña Files
Vista en árbol de los archivos del workspace con su estado. Filtros disponibles:
- Search: búsqueda por subcadena en el path (sin distinguir mayúsculas y minúsculas)
- Status filters: Synced, Modified, Local only, Server only, Locked, Deleted
La vista se mantiene fluida incluso en proyectos con decenas de miles de archivos.
Selección múltiple + acciones
Selecciona varios archivos (clic + shift, o marca las casillas) y luego:
- Checkout: adquiere los locks (idempotente; volver a hacer checkout de un archivo ya locked es un no-op)
- Sync: vuelve a descargar los seleccionados (útil si un archivo se corrompe localmente)
- Revert: libera el lock, restaura la versión del servidor
Pestaña Pending
Archivos actualmente checked-out, locked por ti O por otro usuario. Dos secciones:
- Your locks: puedes hacer checkin, revert o release de forma individual
- Other users' locks: ves quién posee el lock, además de un botón Request release que crea una tarjeta de solicitud en el tablero Production (una insignia
request)
Los administradores también ven un botón Force unlock en los locks de terceros, que libera el lock sin el consentimiento del titular. Todos los force unlock quedan auditados.
Pestaña History
Lista paginada de los commits del repository, con autor, fecha, mensaje y archivos modificados. Al hacer clic en un commit se abre el detalle: la lista completa de los archivos del commit con sus revisiones.
Un botón Get all en cada commit descarga una copia local de todos los archivos en esa revisión (útil para recuperar un estado estable).
Production
La zona Production (una entrada dedicada en la barra lateral) reúne el seguimiento del proyecto, por repository. Reemplazó las antiguas pestañas Activity y Requests del Workspace: el Workspace ahora se centra en los archivos (Files, Pending, History).
My tasks
La lista de tarjetas asignadas a ti, agregada en todos los repositorys a los que tienes acceso.
Board
Tablero kanban por repository, con columnas configurables (por defecto To Do, In Progress, Review, Done). Cada tarjeta
lleva una prioridad (low / normal / high / urgent), etiquetas,
asignados, una fecha límite, comentarios, enlaces a assets o commits, y una imagen de portada.
request. Ya no hay una pestaña Requests
separada.
Activity
Panel unificado:
- KPIs de 24 h: commits, contribuyentes activos, locks activos
- Calendario de actividad: commits por día a lo largo de varios meses (heatmap)
- Recent Checkins y Most Modified Directories
- Commit History: commits paginados con filtros por usuario y por ruta
Watchlist
Vigila rutas (patrones glob) para recibir notificaciones de los check-ins que las tocan. Cada entrada indica la ruta vigilada y los eventos seguidos.
Games
La zona Games enumera los builds de playtest internos publicados para el proyecto. Cada build indica su versión, su configuración (DebugGame / Development / Shipping), su plataforma (Win64 / Mac / Linux), su tamaño y sus notas de versión, con un botón de descarga adaptado a la plataforma.
Es el punto de acceso de los playtesters: una cuenta con el rol playtester solo ve esta
página (ni Workspace ni Production), y solo accede a los builds de los proyectos que le están abiertos.
Changelists locales
Agrupa tus checked-out files en varios commits independientes. Las changelists son locales a tu workspace (nunca se envían al servidor). Útil para:
- Separar un fix crítico de un trabajo en curso
- Preparar varios envíos en paralelo sin mezclarlo todo
- Mantener una changelist "default" para el WIP y una "review" para lo que va a checkin
Settings
Preferencias globales del cliente (guardadas en %APPDATA%/uversion/uVersion/config/config.toml):
| Opción | Descripción |
|---|---|
| Default server URL | Rellenada previamente en la página de inicio de sesión |
| Username | Rellenado previamente en la página de inicio de sesión |
| Theme | System / Light / Dark |
| Show hidden files | Mostrar los archivos que empiezan por . en la pestaña Files |
| Auto-sync interval | Desactivado / 5 min / 15 min / 30 min: activa un sync incremental automático |
| Parallel uploads | Límite de concurrency (1-32, valor predeterminado 16) |
| Default repos path | Carpeta propuesta por defecto al hacer un clone |
Panel de Unreal
Cuando el cliente detecta un proyecto de Unreal en el workspace (presencia de un archivo .uproject),
aparece un panel dedicado. Controla el motor directamente desde el cliente: abrir el editor, compilar,
empaquetar, sin pasar por un IDE. La mayoría de las acciones solo conciernen a los proyectos C++ (un proyecto
Blueprint puro no necesita compilar).
Engine path
La versión de Unreal se detecta automáticamente desde el EngineAssociation del .uproject
(registro de Windows, LauncherInstalled.dat o build de código fuente). Puedes sobrescribirla
manualmente si la detección falla. Esta ruta es necesaria para todas las acciones siguientes.
Open Editor
Lanza el editor de Unreal (UnrealEditor) sobre el proyecto del workspace. El botón es
idempotente: el editor puede tardar varias decenas de segundos en mostrar su ventana
(sobre todo en macOS / Linux), así que un segundo clic durante ese tiempo no abre una segunda instancia. El
botón muestra «Opening…» mientras el editor arranca. Para un proyecto C++ nunca compilado localmente, abrir el
editor primero desencadena una generación de los archivos de proyecto y luego una compilación (consulta
Acciones automáticas).
Compile
Compila el proyecto (Unreal Build Tool). La salida se muestra en tiempo real en una consola integrada. Un proyecto C++ debe compilarse para que el editor pueda abrirlo y para reflejar los cambios de código.
Generate Project Files
Regenera los archivos de proyecto del IDE (Visual Studio, Rider). Útil tras añadir o eliminar archivos fuente, o tras un clone. Se encuentra en el menú «…» (más acciones) del panel.
Package Game
Empaqueta el juego mediante RunUAT BuildCookRun y archiva el resultado en
Packages/{config}/ en la raíz del workspace. Tres configuraciones a elegir:
| Config | Uso |
|---|---|
DebugGame | Build de depuración (símbolos completos, sin optimizar). |
Development | Build de desarrollo (por defecto): optimizado pero con las herramientas de dev. |
Shipping | Build de distribución: optimizado, sin las herramientas de dev. |
La carpeta Packages/ se ignora por defecto (.uversionignore): los
empaquetados no se versionan, se distribuyen mediante Publish Build.
Publish Build
Publica un build empaquetado como versión de playtest interna. Pasa a ser descargable por tu
equipo desde la página Games del cliente (rol playtester o acceso al build concedido). El cliente
escanea Packages/{config}/, envía los archivos (deduplicados en el servidor) y luego registra el
manifiesto.
Open project folder
Abre la carpeta del workspace en el explorador de archivos del sistema (Explorador de Windows, Finder o
xdg-open en Linux).
Stop
Interrumpe limpiamente todos los builds en curso: compilación y empaquetado. El botón indica cuántos builds se han detenido (una compilación automática lanzada en segundo plano puede contarse).
Acciones automáticas
Además de los botones, el cliente desencadena por sí mismo ciertas acciones de Unreal, para que un proyecto C++ se mantenga siempre actualizado y compilable:
- Antes de un check-in: si han cambiado archivos de código, el proyecto se compila primero. Si la compilación falla, el check-in se bloquea (no se envía código que no compila).
- Después de un sync: si el sync ha descargado código, el cliente regenera los archivos de proyecto y luego recompila.
- En el primer lanzamiento tras un clone (proyecto C++): generación de los archivos de proyecto y luego compilación, antes de poder abrir el editor.
Estos builds automáticos se serializan sobre el bloqueo del motor (Unreal Build Tool -WaitMutex):
no se rechazan entre sí, se encadenan. El botón Stop también los interrumpe.