Wiki
検証ルール
Unreal エディタからのチェックイン時に実行されるアセット検証チェック : 9つの組み込みルール、error / warning / info の重要度、JSON設定、エクスポート / インポート / リセット、そして知っておくべき制限。
はじめに
検証ルールは、Unreal エディタからのチェックイン時に実行される Unreal アセットの チェックです : 命名、テクスチャサイズ、依存関係の欠落など。コンテンツがリポジトリ(サーバー上で バージョン管理されるプロジェクト)に入る前に、スタジオの規約を自動的に強制するためのものです。設定は リポジトリごとに行います。
ルールが実際に適用される場所
uversion checkin)、または Rider プラグインから行った送信は、エラーもなく痕跡も
残さずに検証ポリシーを完全に迂回します。
これはあなたの設定ミスではありません : 現在の仕様です。ルールは Unreal アセット(.uasset、
.umap)を対象としており、その検査にはプロジェクトを読み込んだ状態でエディタが開いている必要があります。
したがって、これらはエディタで作業するアーティストのための安全策として扱い、誰も越えられない障壁として
は扱わないでください。
実務上の2つの帰結 :
- ある規約を単に推奨するだけでなく保証する必要がある場合は、追加の管理(レビュー、ビルド側の検証)を 用意してください : ルールだけではそれを保証しません。
- 誰かのところでルールが「まったく発火しない」場合は、まずその人がどこから送信しているかを確認して ください。デスクトップクライアントから送信するアーティストは、設定がどうであれ検証を一切見ません。
アクセスとロール
ルールタブは、スーパー管理者と、自身が管理するリポジトリ上の project_admin が利用できます。
重要度
重要度は、有効なルールが失敗したときに Unreal エディタで何が起こるかを決めます。
| 重要度 | Unreal エディタからのチェックイン時の効果 |
|---|---|
error | チェックインをブロックします : 検証ウィンドウが開き、Proceed ボタンはグレーアウトされ、OK のみがクリック可能なままです。アセットを修正する必要があります。 |
warning | 送信を妨げませんが、黙って通過することはありません : 検証ウィンドウはそれでも開き、警告を一覧表示し、ユーザーは続行するために Proceed をクリックする必要があります。 |
info | 純粋に情報提供のみ : それ単独ではウィンドウを開かず、何も中断しません。 |
9つの組み込みルール
| ルール | デフォルト | チェック内容 |
|---|---|---|
blueprint_compilation | error | チェックイン前に Blueprint がエラーなくコンパイルされること。 |
naming_convention | warning | 命名プレフィックス(Allar UE5 スタイル): T_ テクスチャ、M_ マテリアル、BP_ ブループリント、SM_ スタティックメッシュ、WBP_ ウィジェットなど。 |
max_texture_size | warning | テクスチャの最大サイズ : デフォルトは 4096 × 4096、2の累乗が必須。 |
material_complexity | warning | マテリアルの複雑さ : デフォルトで最大 256 命令、16 テクスチャサンプル。 |
import_settings | warning | 準拠したインポート設定(テクスチャ、メッシュ)。 |
missing_dependency | error | 依存関係の欠落がないこと(デフォルトでエンジンコンテンツを無視)。 |
circular_dependency | error | 循環依存がないこと(デフォルトの探索深度は 20)。 |
unreferenced_asset | info | 参照されていないアセットを報告します(デフォルトでマップとウィジェットを除外)。 |
duplicate_asset | warning | 重複したアセットを検出します(デフォルトで .umap を無視)。 |
有効化と設定
1. Rules タブを開く
管理パネルで、まず PROJECT 行のセレクターでリポジトリを選び、次に同じ行の Rules タブを開きます : ルールは一度に1つのリポジトリを対象とします。9つのルールが1行に1つずつ、展開用のシェブロン、 スイッチ、ルール名、重要度、説明とともに表示されます。
2. ルールを有効にする
名前の左にあるスイッチをクリックします。保存は即座に行われます : この操作に保存ボタン はありません。これは忘れられがちなステップです : 新しいリポジトリではすべてのスイッチがオフで、オフのルールは重要度が 何であれ誰にも何も伝えません。
3. 重要度を選ぶ
行の右側のドロップダウンメニューは Error、Warning、Info を
提供し、ここでも即座に保存されます。実際にチェックインをブロックするのは error だけです :
重要度を参照。
4. パラメータを調整する(JSON)
行頭のシェブロンをクリックしてルールを展開します。Configuration (JSON) フィールドに
そのパラメータが含まれています。それらを編集して Save Config をクリックします。無効な JSON は保存を
ブロックし、フィールドの下にエラーの詳細(Invalid JSON: ...)を表示します。その場合、ルールは以前の状態の
ままです。
例 : モバイルプロジェクト向けに max_texture_size を 2048 に下げる、または厳格に強制するために
naming_convention を error に切り替える。
エクスポート、インポート、リセット
Rules タブの右上のツールバーには3つのボタンがあります :
- Export : すべてのルールの状態(有効化、重要度、設定)を含む
rules.jsonファイルをダウンロードします。 - Import :
rules.jsonを再読み込みし、各エントリを対応するルールに適用します (不明なキーは無視されます)。 - Reset to Defaults : すべてのルールをデフォルト値に戻します。カスタム設定は失われます (確認が求められます)。
エクスポート / インポートは、あるリポジトリから別のリポジトリへ検証ポリシーを複製したり、オフラインでバージョン管理する のに使います。
リポジトリ内の rules.json
.uversion/rules.json ファイルは、コミットの作者が manage_rules
という名前の権限(「ケイパビリティ」、つまりロールに紐づき、サーバー全体で有効な権限)を保持している場合にのみ、
リポジトリのポリシーに適用されます。そうでない場合、ファイルは保存されますがルールは変わりません。これは保護策です :
そのパスに書き込み権限を持つ貢献者が、ファイルをコミットして検証を無効化することはできません。
よくある落とし穴
Unreal エディタでチェックインがブロックされる
error のルールが失敗しました : 検証ウィンドウが検出結果を一覧表示し、Proceed ボタンは
グレーアウトされたままです。アセットを修正するか、(そのルールが自分の状況には厳しすぎる場合は)重要度を
warning に下げるか、無効にしてください。
リセットで自分の設定が消える
Reset to Defaults はカスタム設定に対して破壊的です。元に戻せるようにしたい場合は、先に Export を行ってください。
ルールが何もしていないように見える
この順序で3つの確認を :
- その人はどこから送信していますか? デスクトップクライアント、コマンドライン、または Rider プラグインからは、ルールは一切評価されません(ルールが実際に適用される場所を参照)。
- ルールは有効になっていますか? 新しいリポジトリでは、最初はすべて無効です。
- その重要度は正しいですか? チェックインをブロックするのは
errorだけです。infoは何も中断しません。