uVersion
日本語
ダウンロード →

開発者

すべてがスクリプト化できる。
すべてが統合できる。

uVersion は完全な CLI、ドキュメント化された REST API、そしてゲーム開発で使われる IDE のためのネイティブプラグインを提供します。パイプラインをコードで組むなら、そこに組み込めます。

CLI uversion

uversion.exe バイナリ(約 6 MB)はすべての VCS 操作をカバーし、あらゆるスクリプトから解析できる --json 出力を備えています。

認証情報はシステムキーリングを通じてデスクトップクライアントと共有され、二重ログインは不要です。CDC チャンキング、zstd 圧縮、.uversionignore の追跡はデスクトップクライアントとまったく同じです。

CLI の完全リファレンス →
# Login + clone + checkin
$ uversion login https://team.uversion.io --username alex.dev
✓ Authenticated as alex.dev
$ uversion clone hero-rpg ./HeroRPG
Cloning to ./HeroRPG ...
✓ 8,432 files in 47s
$ uversion checkout Content/Characters/Hero.uasset
✓ Lock acquired
$ uversion checkin -m "Hero pose pass"
✓ Committed as 7f3a9b1

エディタープラグイン

Unreal 開発で使われる IDE へのネイティブ統合。

Plugin Unreal Engine

提供中

エディターに組み込まれた Source Control Provider。UE 5.6 以降。プリコンパイル済みバイナリとして配布され、デスクトップクライアントがプロジェクトに代わりにインストールし、Unreal のバージョンごと・プラットフォームごとに更新を知らせます。展開する ZIP はありません。

  • Content Browser から Checkout / Checkin / Revert
  • 組み込みのビジュアル Blueprint 差分
  • 10 個の組み込みルールによるチェックイン前検証
  • 変更時の自動 Checkout
  • Windows Credential Manager による自動ログイン
  • 起動時のリコンサイル(Content/ + Plugins/*/Content/)
ドキュメント →

Plugin Rider

提供中

Unreal ゲーム開発の定番 IDE、JetBrains Rider 向けの VCS 統合。

  • VCS メニューから Refresh / Update / Checkin / Revert
  • 内部では uversion CLI に委譲
  • ソース拡張子でフィルタ(.cpp, .h, .cs, .uproject)
  • デスクトップクライアントと認証を共有

Plugin Visual Studio

Coming soon

Microsoft の IDE を使い続ける C++ 開発者のための、Visual Studio 2022 以降の VCS 統合。Rider プラグインと同じ機能を Team Explorer メニューに提供します。

Extension VS Code

Coming soon

スクリプト作成、設定ファイルの編集、プロジェクトのドキュメント執筆をエディターから離れずに行うための VS Code 拡張機能。エクスプローラーのステータスアイコン、コマンドパレットからの checkout / checkin。

API REST

uVersion サーバーは JWT で認証される JSON HTTP API を提供します。クライアントのすべての操作(auth、repos、files、locks、comments、builds)は REST 経由で利用できます。

  • POST /api/auth/login:30 日間有効な JWT を取得
  • POST /api/auth/refresh:パスワードを再入力せずに更新
  • GET /api/repositories:アクセス可能なリポジトリを一覧表示
  • POST /api/files/{repo_id}/upload-chunks:チャンク化したバイナリのアップロード
  • POST /api/locks/{repo_id}/acquire:ファイルをロック
  • POST /api/builds/{repo_id}/upload:プレイテストビルドを公開
API の完全リファレンス →
# リポジトリ一覧を取得
curl -X GET https://team.uversion.io/api/repositories \
  -H "Authorization: Bearer $UV_TOKEN"
# レスポンス
{
  "success": true,
  "data": [
    {
      "id": 12,
      "name": "hero-rpg",
      "owner": "acme",
      "current_revision": "7f3a9b1...",
      "file_count": 8432,
      "size_bytes": 14211938405
    }
  ]
}

CI/CD

uversion CLI は自動化パイプラインのために設計されています。--json モード、標準的な終了コード、パスワードを再入力せずに更新できる長期有効な JWT(30 日間)。

# .github/workflows/build.yml
name: Nightly build
on:
  schedule: [{ cron: '0 2 * * *' }]
jobs:
  build:
    runs-on: [self-hosted, unreal]
    steps:
      - name: Login + sync from uVersion
        env:
          UV_SERVER: ${{ secrets.UV_SERVER }}
          UV_USER: ${{ secrets.UV_USER }}
          UV_PASSWORD: ${{ secrets.UV_PASSWORD }}
        run: |
          uversion login "$UV_SERVER" --username "$UV_USER" --password "$UV_PASSWORD" --json
          uversion clone hero-rpg ./project --json
          uversion sync --json
      - name: Build packaged client
        run: |
          ./project/Engine/Build/BatchFiles/RunUAT.bat \
            BuildCookRun -project=./project/HeroRPG.uproject \
            -clientconfig=Development -platform=Win64

堅牢で高速

ネイティブなサーバーバイナリ、軽量なデスクトップクライアント(数 MB、瞬時に起動)、大容量ファイルのための大規模並列アップロード・ダウンロード。JWT 認証、標準に沿ってハッシュ化されたパスワード、機微な操作の完全な監査。自社インフラ上のサーバーは自己署名 TLS で動作し、クライアントは初回接続時に指紋を固定します(TOFU)。CI で信頼をスクリプト化するには uversion trust を使います。

ドキュメントに飛び込もう。