uVersion
Español
Descargar →

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.exe viene 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:
    sudo apt install ./uVersion_x.y.z_amd64.deb
    La app se instala en /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

Página de inicio de sesión en el primer arranque: campos Dirección del servidor, Nombre de usuario, Contraseña.

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

Barra de pestañas de workspaces arriba, con varios workspaces abiertos a la vez.

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

El árbol de archivos con los filtros de estado (Synced, Modified, Local only, Locked…) y la barra de búsqueda.

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

Pestaña Pending: secciones Your locks y Other users' locks, con los botones Request release y Force unlock.

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

Un commit desplegado con su lista de archivos y el botón Get all del commit.

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

Las tareas asignadas a ti, en todos los proyectos.

La lista de tarjetas asignadas a ti, agregada en todos los repositorys a los que tienes acceso.

Board

El kanban: columnas To Do / In Progress / Review / Done, tarjetas con prioridad, etiquetas, asignados, portadas.

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.

Las solicitudes son tarjetas del tablero Las antiguas modification requests (por ejemplo 'Request release' sobre un lock que posee otra persona, en la pestaña Pending) ahora son tarjetas del tablero con una insignia request. Ya no hay una pestaña Requests separada.
Una tarjeta abierta: descripción, asignados, fecha límite, comentarios, enlaces asset/commit, portada.
📷 Screenshot · production-request-cards
Tarjetas de tipo request (insignia) en la columna Review.

Activity

Panel Activity: KPIs de 24 h, calendario de actividad, Recent Checkins, Commit History.

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

Las vigilancias por ruta.

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 página Games: los builds de playtest publicados, con descarga según la plataforma.

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

📷 Screenshot · client-changelists
Archivos checked-out repartidos en dos changelists locales (por ejemplo 'default' y 'review').

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

El panel Settings: tema, intervalo de auto-sync, subidas paralelas, carpeta de repos por defecto.

Preferencias globales del cliente (guardadas en %APPDATA%/uversion/uVersion/config/config.toml):

OpciónDescripción
Default server URLRellenada previamente en la página de inicio de sesión
UsernameRellenado previamente en la página de inicio de sesión
ThemeSystem / Light / Dark
Show hidden filesMostrar los archivos que empiezan por . en la pestaña Files
Auto-sync intervalDesactivado / 5 min / 15 min / 30 min: activa un sync incremental automático
Parallel uploadsLímite de concurrency (1-32, valor predeterminado 16)
Default repos pathCarpeta propuesta por defecto al hacer un clone

Panel de Unreal

📷 Screenshot · client-unreal-panel
El panel de Unreal con sus botones de acción: Open Editor, Compile, Package Game y su elección de config, Publish Build, Stop.

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

📷 Screenshot · client-compile-console
La consola integrada que muestra la salida de compilación de Unreal Build Tool en tiempo real.

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:

ConfigUso
DebugGameBuild de depuración (símbolos completos, sin optimizar).
DevelopmentBuild de desarrollo (por defecto): optimizado pero con las herramientas de dev.
ShippingBuild 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.