Wiki
Настольный клиент
Настольный клиент uVersion для Windows, macOS и Linux: установка, workspace, вкладки, настройки.
Установка
Настольный клиент: нативное приложение, доступное для Windows, macOS (Apple Silicon)
и Linux. Установщики для Windows, macOS и Linux также содержат CLI uversion и делают его
доступным. Скачайте его на странице /downloads.
Windows
Скачайте uVersion_x.y.z_x64-setup.exe (подписанный установщик NSIS, ~25 МБ).
При запуске установщик:
- Устанавливает клиент в
%LOCALAPPDATA%\uVersion(для пользователя, без прав администратора) - Добавляет папку установки в пользовательский PATH (CLI
uversion.exeвстроен туда) - Создаёт ярлык в меню «Пуск»
- Включает автообновление через Tauri updater
macOS (Apple Silicon)
Скачайте uVersion_x.y.z_macos-arm64.app.zip (~32 МБ, подписано Developer ID и
нотаризовано Apple). Дважды щёлкните для распаковки, затем перетащите uVersion.app в
/Applications. При первом запуске Gatekeeper автоматически проверяет
нотаризацию, без каких-либо предупреждений.
CLI uversion встроен в приложение. При первом запуске клиент автоматически
создаёт символическую ссылку на ~/.local/bin/uversion и добавляет
~/.local/bin в ваш PATH через ~/.zprofile: никаких ручных действий не требуется.
Откройте новый терминал, и uversion будет доступен.
Примечание: поддерживается только Apple Silicon (M1/M2/M3/M4). Бинарного файла для Intel нет.
Linux
Два формата для x86_64:
-
AppImage (
uVersion_x.y.z_amd64.AppImage, ~76 МБ): портативный, содержит все зависимости (libwebkit2gtk, libgtk, libsoup и т. д.). Работает на любом дистрибутиве Linux без установки в систему:chmod +x uVersion_x.y.z_amd64.AppImage ./uVersion_x.y.z_amd64.AppImage -
Пакет .deb (
uVersion_x.y.z_amd64.deb, ~5 МБ): для Ubuntu / Debian / производных. apt разрешает системные зависимости:
Приложение устанавливается вsudo apt install ./uVersion_x.y.z_amd64.deb/usr/bin/uVersion.
Примечание: CLI uversion встроен в пакеты Linux. При первом запуске
клиент копирует бинарный файл в ~/.local/bin/uversion и добавляет
~/.local/bin в ваш PATH через ~/.profile (никаких ручных действий не требуется).
Первый запуск
При первом запуске клиент показывает страницу входа. Введите:
- Адрес сервера: адрес вашей студии (например,
https://uversion.mygamestudio.com) - Имя пользователя и пароль
После подключения клиент безопасно запоминает вашу сессию. CLI uversion
и плагины редакторов (Unreal, Rider) автоматически используют те же учётные данные: вы
больше нигде не вводите пароль повторно.
Workspace
workspace: локальная папка, связанная с серверным repository. Клиент может управлять несколькими
workspace одновременно, они отображаются на панели вкладок вверху. Каждый workspace хранит свои метаданные в
.uversion/ в корне локальной папки:
.uversion/config.toml: owner, repo_id, server URL, workspace UUID.uversion/checkouts_<workspace_id>.json: locks, которые ВЫ удерживаете в этом workspace.uversion/changelists_<workspace_id>.json: локальные changelists.uversion/.last_sync: последняя synced-ревизия (для инкрементальных sync)
Вкладка Files
Древовидное представление файлов workspace с их статусом. Доступные фильтры:
- Search: поиск по подстроке в path (без учёта регистра)
- Status filters: Synced, Modified, Local only, Server only, Locked, Deleted
Представление остаётся плавным даже в проектах с десятками тысяч файлов.
Множественный выбор + действия
Выберите несколько файлов (клик + shift или отметьте флажки), затем:
- Checkout: получает locks (идемпотентно; повторный checkout уже locked-файла, это no-op)
- Sync: заново загружает выбранные (полезно, если файл повреждён локально)
- Revert: снимает lock, восстанавливает серверную версию
Вкладка Pending
Файлы, которые сейчас checked-out, locked вами ИЛИ другим пользователем. Два раздела:
- Your locks: вы можете сделать checkin, revert или release по отдельности
- Other users' locks: вы видите, кто удерживает lock, плюс кнопку Request release, которая создаёт карточку запроса на доске Production (значок
request)
Администраторы также видят кнопку Force unlock на чужих locks, которая снимает lock без согласия владельца. Все force unlock фиксируются в аудите.
Вкладка History
Постраничный список commits репозитория с автором, датой, сообщением и изменёнными файлами. Клик по commit открывает детали: полный список файлов commit с их ревизиями.
Кнопка Get all на каждом commit загружает локальную копию всех файлов на этой ревизии (полезно для восстановления стабильного состояния).
Production
Зона Production (отдельный пункт в боковой панели) собирает отслеживание проекта, по репозиториям. Она заменила прежние вкладки Activity и Requests в Workspace: Workspace теперь сосредоточен на файлах (Files, Pending, History).
My tasks
Список карточек, назначенных вам, агрегированный по всем репозиториям, к которым у вас есть доступ.
Board
Доска kanban по репозиториям, с настраиваемыми колонками (по умолчанию To Do, In Progress, Review, Done). Каждая
карточка несёт приоритет (low / normal / high / urgent), метки,
исполнителей, срок, комментарии, ссылки на assets или commits и изображение обложки.
request. Отдельной вкладки Requests больше нет.
Activity
Единая панель мониторинга:
- KPI за 24 ч: commits, активные отправители, активные locks
- Календарь активности: commits по дням за несколько месяцев (heatmap)
- Recent Checkins и Most Modified Directories
- Commit History: постраничные commits с фильтрами по пользователю и по пути
Watchlist
Наблюдайте за путями (glob-шаблоны), чтобы получать уведомления о check-in, которые их затрагивают. Каждая запись указывает наблюдаемый путь и отслеживаемые события.
Games
Зона Games перечисляет внутренние сборки для playtest, опубликованные для проекта. Каждая сборка указывает свою версию, конфигурацию (DebugGame / Development / Shipping), платформу (Win64 / Mac / Linux), размер и примечания к выпуску, с кнопкой загрузки, подходящей для платформы.
Это точка доступа для playtester: учётная запись с ролью playtester видит только эту
страницу (ни Workspace, ни Production) и имеет доступ только к сборкам открытых для неё проектов.
Локальные Changelists
Группируйте свои checked-out files в несколько независимых commits. Changelists локальны для вашего workspace (никогда не отправляются на сервер). Полезно для того, чтобы:
- Отделить критический fix от работы в процессе
- Подготовить несколько отправок параллельно, ничего не смешивая
- Держать changelist "default" для WIP и "review" для того, что идёт в checkin
Settings
Глобальные настройки клиента (сохраняются в %APPDATA%/uversion/uVersion/config/config.toml):
| Опция | Описание |
|---|---|
| Default server URL | Предзаполняется на странице входа |
| Username | Предзаполняется на странице входа |
| Theme | System / Light / Dark |
| Show hidden files | Показывать файлы, начинающиеся с ., на вкладке Files |
| Auto-sync interval | Отключено / 5 мин / 15 мин / 30 мин: запускает автоматический инкрементальный sync |
| Parallel uploads | Предел concurrency (1-32, по умолчанию 16) |
| Default repos path | Папка, предлагаемая по умолчанию при clone |
Панель Unreal
Когда клиент обнаруживает проект Unreal в workspace (наличие файла .uproject),
появляется отдельная панель. Она управляет движком напрямую из клиента: открыть редактор, скомпилировать,
собрать пакет, минуя IDE. Большинство действий касаются только проектов C++ (чистому проекту на Blueprint
компиляция не нужна).
Engine path
Версия Unreal определяется автоматически по полю EngineAssociation из .uproject
(реестр Windows, LauncherInstalled.dat или сборка из исходников). Вы можете переопределить её
вручную, если определение не удалось. Этот путь требуется для всех действий ниже.
Open Editor
Запускает редактор Unreal (UnrealEditor) для проекта workspace. Кнопка
идемпотентна: редактору может потребоваться несколько десятков секунд, чтобы показать окно
(особенно на macOS / Linux), поэтому второй щелчок в это время не открывает второй экземпляр. Пока редактор
запускается, на кнопке отображается «Opening…». Для проекта C++, ни разу не собранного локально, открытие
редактора сначала запускает генерацию файлов проекта, а затем компиляцию (см.
Автоматические действия).
Compile
Компилирует проект (Unreal Build Tool). Вывод отображается в реальном времени во встроенной консоли. Проект C++ должен быть скомпилирован, чтобы редактор мог его открыть и чтобы отразить изменения в коде.
Generate Project Files
Заново создаёт файлы проекта IDE (Visual Studio, Rider). Полезно после добавления или удаления исходных файлов либо после clone. Находится в меню «…» (дополнительные действия) панели.
Package Game
Собирает пакет игры через RunUAT BuildCookRun и архивирует результат в
Packages/{config}/ в корне workspace. Три конфигурации на выбор:
| Config | Назначение |
|---|---|
DebugGame | Отладочная сборка (полные символы, без оптимизации). |
Development | Сборка для разработки (по умолчанию): оптимизирована, но с инструментами разработчика. |
Shipping | Сборка для распространения: оптимизирована, без инструментов разработчика. |
Папка Packages/ игнорируется по умолчанию (.uversionignore):
собранные пакеты не версионируются, они распространяются через Publish Build.
Publish Build
Публикует собранный пакет как внутреннюю версию для playtest. Она становится доступна для
скачивания вашей команде со страницы Games в клиенте (роль playtester или предоставленный доступ к
сборке). Клиент сканирует Packages/{config}/, отправляет файлы (дедупликация на стороне сервера),
затем регистрирует манифест.
Open project folder
Открывает папку workspace в файловом менеджере системы (Проводник Windows, Finder или
xdg-open в Linux).
Stop
Аккуратно прерывает все текущие сборки: компиляцию и сборку пакета. Кнопка показывает, сколько сборок было остановлено (автоматическая компиляция, запущенная в фоне, может быть учтена).
Автоматические действия
Помимо кнопок, клиент сам запускает некоторые действия Unreal, чтобы проект C++ всегда оставался актуальным и компилируемым:
- Перед check-in: если файлы кода изменились, проект сначала компилируется. Если компиляция не удалась, check-in блокируется (код, который не компилируется, не отправляется).
- После sync: если sync загрузил код, клиент заново создаёт файлы проекта, затем повторно компилирует.
- При первом запуске после clone (проект C++): генерация файлов проекта, затем компиляция, прежде чем можно будет открыть редактор.
Эти автоматические сборки сериализуются на блокировке движка (Unreal Build Tool -WaitMutex): они
не отклоняют друг друга, а выстраиваются в очередь. Кнопка Stop прерывает и их.