機能
Unreal のために、
端から端まで。
uVersion は Unreal スタジオのサイクル全体をカバーします。バイナリストレージからアクティビティダッシュボードまで、checkin 前検証ときめ細かなロールを含めて。これがその中身です。
01
ワークフロー
lock ベースで、マージの不意打ちなし。アーティストは常に誰が何に触れているかを把握できます。
排他ロック
編集前に checkout が必須。「同じ .uasset に 2 時間費やしていた」がもうありません。cross-workspace で、分散チームでもロックの保持者が分かります。
スマートな自動 checkout
Unreal プラグインは writable なアセットを変更した瞬間に自動でロックします。ソースコントロールでのダブルクリックはもう不要です。
ローカルな changelist
checked-out ファイルを複数の独立したコミットにまとめます(Perforce 風)。workspace ごとに保持されます。
lock release リクエスト
Marie が 2 日前にアセットをロックし、Alex がそれを必要とする場合、Marie にアプリ内通知が届く release リクエストを送れます。
マルチアカウント、マルチサーバー
複数のスタジオで働くフリーランス? アカウントとサーバーをワンクリックで切り替え、異なるアカウントで 2 つの Unreal エディターを並行して開いたままにできます。
クリーンアップする sync
完全な sync は、サーバー側で削除またはリネームされたファイルをローカルから取り除きます(Perforce と同等)。あなたが変更またはロックしたファイルには決して手を触れません。
02
Unreal プラグイン
ネイティブな Source Control Provider であり、外部ラッパーではありません。
Source Control Provider
Connect → uVersion。標準的な UE5 ワークフローすべて:checkout、checkin、revert、history を Content Browser から。
ビジュアルな Blueprint 差分
リビジョン間の Blueprint 比較を UE 内で直接。一時ファイルは Saved/Diff/ に置かれ、どのコミットでも動作します。
Redirector クリーンアップ
checkin ごとに、プラグインがリダイレクターを修正し、変更されたパッケージを保存し、すべてをコミットに含めます。ビルド時の "Redirector still present" はもうありません。
自動 reconcile
プロジェクトを開くと、writable だがロックされていない .uasset は自動で checkout されます。Content/ と Plugins/*/Content/ のスキャンを含みます。
03
検証
10 個の組み込みルール、プロジェクトごとに設定可能。エラーはブロックし、警告は注意を促します。
Blueprint コンパイル
ヘッドレスの Kismet コンパイラが、コミット内のすべての Blueprint がコンパイルされることを確認します。エラー → checkin ブロック。
命名規則
アセットタイプごとのプレフィックス(BP_、T_、M_、SM_…)。正規表現は設定可能です。
テクスチャサイズ
テクスチャが定義された解像度を超える場合、または 2 のべき乗でない場合に警告またはブロックします。
マテリアルの複雑度
シェーダー命令数を数えます。しきい値を超えると警告またはエラー。
インポート設定
ノーマルマップの sRGB テクスチャ、UI テクスチャの圧縮など。すべて設定可能です。
不足している依存関係
コミットされた Blueprint から参照されているがコミットに含まれないアセットを検出します。CI での "package not found" はもうありません。
ドライラン checkin
送信せずに checkin をシミュレートし、何が通り何が失敗するかを事前に確認できます。大きな submit の前に便利です。
プロジェクトごとのポリシー
各ルールを有効・無効にし、しきい値と重大度(error / warning)をプロジェクトごとに .uversion/rules.json で調整。repo とともにバージョン管理されます。
04
コラボレーション
コメント、レビュー、watchlist、通知。足並みをそろえるためのすべて。
スレッド化されたコメント
コミット単位またはファイル単位のコメント、ツリー形式。Markdown 対応。
レビュー
Approve / Changes Requested / Pending。特定のフォルダーでマージ前に lead の承認を求めるパスゲート。
Watchlist
ファイルまたは glob(Content/Characters/**)を監視。コミットがそれに触れるとすぐに通知します。
アプリ内通知
デスクトップクライアントのベル。該当のコミット、modification request、またはファイルへ直接ナビゲート。
modification request
対象ファイルの有無にかかわらず、チームメイトにアセットの変更を依頼できます。各リクエストは Production ボード(セクション 05)のカードになります。
Webhook
Discord、Slack、Teams、またはカスタム形式。コミット、ロック、変更の通知。定期サマリー用のスケジューラー。
05
プロダクション
プロダクション管理を、VCS の中に。カードが実際のアセットとコミットに紐づく kanban ボード。
kanban ボード
lead が設定できるカラム(To Do / In Progress / Review / Done、またはアート向けに Blockout / WIP / Review / Final)。ドラッグ&ドロップ、優先度、ラベル、複数の担当者、期限、コメント。
コンテンツに紐づくカード
Trello や Jira との真の違い:アセットとコミットをカードに紐づけます。ファイルから右クリック →「タスクに追加」。プロダクションはファイルがある場所で動きます。
checkin での自動レビュー
紐づいたアセットがコミットされると、コミットがカードに添付され、そのカードは Review カラムへ移動します。ボードの手動更新はゼロです。
My tasks、全プロジェクト
あなたに割り当てられたタスクをすべての repo にわたって一箇所に集約。ワンクリックで該当プロジェクトのボードへジャンプできます。
統一されたリクエスト
modification リクエストと lock 解放リクエストはボードのカードです。単一のフローで、別個の「Requests」サイロはもうありません。
添付とカバー
参照画像をカードに添付し、カバー画像も設定。コンテンツアドレス方式のストレージで、ほかと同様に重複排除されます。
06
管理
クライアントに組み込まれたパネル。8 つのロール、glob 権限、完全な監査。
設定可能な 8 ロール
admin、lead、artist、programmer、qa、user、viewer、playtester。きめ細かな capabilities(force_unlock、approve_changes、manage_rules…)。
glob 権限
パターンに対する Read/Write/Deny(Content/Audio/**)。優先度 DESC、デフォルトは Write。Admin はバイパス。
監査ログ
すべての重要なアクション:login、force unlock、obliterate、ロール変更、権限の編集。エクスポート可能。
Lead ダッシュボード
7 / 30 / 90 日のユーザー別 KPI。誰が詰まっているか、誰がどの機能を担当しているかを把握できます。
ストレージメトリクス
重複排除率、成長、サイズ別トップファイル。設定可能なガベージコレクション(retention + min revisions)。
Obliteration
ファイルを履歴から完全に削除(誤って追加された機密アセット)。500 件ごとのバッチ、進捗イベント、孤立チャンクを狙った GC。
自社インフラで、公開 CA なし
サーバーを自社でホスト。自己署名 TLS + TOFU ピンニング(trust-on-first-use):クライアントは初回接続時にサーバーのフィンガープリントを記憶し、購入すべき公開証明機関はありません。
07
配布とビルド
プロジェクト間でコンテンツを共有し、社内プレイテストのビルドを公開。
クロスプロジェクト配布
path patterns によるソース → ターゲットのリンク(Plugins/uVersion、Content/Shared/**)。Publish はファイルをコピーし、チャンクは共有されます(重複排除)。
Internal playtesting
デスクトップクライアントからパッケージ化されたビルドを公開。playtester ロールは Games Page からダウンロードします。バージョン、config(DebugGame/Development/Shipping)、プラットフォーム。
組み込みの Package Game
クライアントからの RunUAT BuildCookRun。EngineAssociation による Engine Path の自動検出。クリーンな停止でのビルドキャンセル(Windows では taskkill /T)。
クライアントの自動更新
Tauri updater プラグイン、RSA 署名されたバンドル、サーバーが提供する latest.json マニフェスト。チームにとって透過的な更新。