Wiki
Validierungsregeln
Beim Check-in aus dem Unreal-Editor ausgeführte Asset-Validierungsprüfungen : die 9 integrierten Regeln, die Schweregrade error / warning / info, JSON-Konfiguration, Export / Import / Reset, und die zu kennende Grenze.
Einführung
Validierungsregeln sind Unreal-Asset-Prüfungen, die zum Zeitpunkt des Check-ins aus dem Unreal-Editor ausgeführt werden : Benennung, Texturgröße, fehlende Abhängigkeiten usw. Sie dienen dazu, die Konventionen des Studios automatisch durchzusetzen, bevor Inhalte in das Repository (das auf dem Server versionierte Projekt) gelangen. Sie werden pro Repository konfiguriert.
Wo die Regeln wirklich gelten
uversion checkin) oder über das Rider-Plugin umgeht die
Validierungsrichtlinie vollständig, ohne Fehler und ohne eine Spur zu hinterlassen.
Das ist kein Konfigurationsfehler Ihrerseits : So funktioniert es derzeit. Die Regeln betreffen Unreal-Assets
(.uasset, .umap) und ihre Prüfung erfordert den geöffneten Editor mit geladenem Projekt.
Behandeln Sie sie daher als Schutzgeländer für Artists, die im Editor arbeiten, und nicht als eine
Barriere, die niemand überwinden kann.
Zwei praktische Konsequenzen :
- Wenn eine Konvention garantiert und nicht nur gefördert werden muss, planen Sie eine zusätzliche Kontrolle ein (Review, Prüfung auf Build-Seite) : die Regeln allein stellen sie nicht sicher.
- Wenn eine Regel bei jemandem „nie auslöst“, prüfen Sie zuerst, von wo aus er einreicht. Ein Artist, der über den Desktop-Client einreicht, sieht keinerlei Validierung, egal wie die Konfiguration aussieht.
Zugriff und Rollen
Der Tab Regeln steht dem Super-Admin und dem project_admin auf den von ihm verwalteten Repositories zur Verfügung.
Schweregrade
Der Schweregrad entscheidet, was im Unreal-Editor passiert, wenn eine aktivierte Regel fehlschlägt.
| Schweregrad | Wirkung beim Check-in aus dem Unreal-Editor |
|---|---|
error | Blockiert den Check-in : das Validierungsfenster öffnet sich, die Schaltfläche Proceed ist ausgegraut und nur OK bleibt anklickbar. Das Asset muss korrigiert werden. |
warning | Verhindert das Einreichen nicht, aber geht nicht stillschweigend durch : das Validierungsfenster öffnet sich trotzdem, listet die Warnungen auf, und der Benutzer muss Proceed klicken, um fortzufahren. |
info | Rein informativ : öffnet das Fenster nicht von allein und unterbricht nichts. |
Die 9 integrierten Regeln
| Regel | Standard | Was sie prüft |
|---|---|---|
blueprint_compilation | error | Blueprints kompilieren vor dem Check-in fehlerfrei. |
naming_convention | warning | Benennungspräfixe (Allar-UE5-Stil) : T_ Texturen, M_ Materialien, BP_ Blueprints, SM_ Static Meshes, WBP_ Widgets usw. |
max_texture_size | warning | Maximale Texturgröße : standardmäßig 4096 × 4096, Zweierpotenz erforderlich. |
material_complexity | warning | Materialkomplexität : standardmäßig max. 256 Instruktionen, 16 Textursamples. |
import_settings | warning | Konforme Importeinstellungen (Texturen, Meshes). |
missing_dependency | error | Keine fehlende Abhängigkeit (ignoriert standardmäßig Engine-Inhalte). |
circular_dependency | error | Keine zirkuläre Abhängigkeit (Suchtiefe standardmäßig 20). |
unreferenced_asset | info | Meldet nicht referenzierte Assets (schließt Karten und Widgets standardmäßig aus). |
duplicate_asset | warning | Erkennt doppelte Assets (ignoriert standardmäßig .umap). |
Aktivieren und konfigurieren
1. Den Rules-Tab öffnen
Wählen Sie im Administrationsbereich zunächst das Repository im Auswahlfeld der Zeile PROJECT, öffnen Sie dann den Tab Rules derselben Zeile : die Regeln betreffen jeweils ein einzelnes Repository. Die 9 Regeln werden angezeigt, eine pro Zeile, mit einem Pfeil zum Aufklappen, einem Schalter, dem Regelnamen, ihrem Schweregrad und ihrer Beschreibung.
2. Die Regel aktivieren
Klicken Sie auf den Schalter links vom Namen. Das Speichern erfolgt sofort : für diese Aktion gibt es keine Speichern-Schaltfläche. Das ist der Schritt, den man vergisst : auf einem neuen Repository sind alle Schalter aus, und eine ausgeschaltete Regel sagt niemandem etwas, egal welchen Schweregrad sie hat.
3. Den Schweregrad wählen
Das Dropdown-Menü rechts in der Zeile bietet Error, Warning und
Info, auch hier mit sofortigem Speichern. Nur error blockiert den Check-in
tatsächlich : siehe Schweregrade.
4. Die Parameter anpassen (JSON)
Klicken Sie auf den Pfeil am Zeilenanfang, um die Regel aufzuklappen. Das Feld
Configuration (JSON) enthält ihre Parameter ; ändern Sie sie und klicken Sie dann auf
Save Config. Ungültiges JSON blockiert das Speichern und zeigt das Fehlerdetail unter dem Feld an
(Invalid JSON: ...), die Regel bleibt dann in ihrem vorherigen Zustand.
Beispiel : max_texture_size für ein Mobilprojekt auf 2048 senken oder naming_convention
auf error setzen, um sie strikt durchzusetzen.
Export, Import, Reset
Drei Schaltflächen belegen die Symbolleiste oben rechts im Rules-Tab :
- Export : lädt eine Datei
rules.jsonherunter, die den Zustand aller Regeln enthält (Aktivierung, Schweregrad, Konfiguration). - Import : lädt eine
rules.jsonerneut und wendet jeden Eintrag auf die entsprechenden Regeln an (unbekannte Schlüssel werden ignoriert). - Reset to Defaults : setzt alle Regeln auf ihre Standardwerte zurück. Benutzerdefinierte Konfigurationen gehen verloren (Bestätigung erforderlich).
Export / Import dient dazu, eine Validierungsrichtlinie von einem Repository auf ein anderes zu replizieren oder sie offline zu versionieren.
rules.json im Repository
.uversion/rules.json wird nur dann auf die Richtlinie des Repositories angewendet,
wenn der Autor des Commits die Berechtigung namens manage_rules besitzt (eine „Fähigkeit“, das heißt
eine an eine Rolle gebundene und serverweit gültige Berechtigung). Andernfalls wird die Datei gespeichert, aber die
Regeln ändern sich nicht. Das ist eine Absicherung : ein Mitwirkender mit Schreibrecht auf diesem Pfad kann die
Validierung nicht durch das Committen einer Datei deaktivieren.
Häufige Stolperfallen
Ein Check-in ist im Unreal-Editor blockiert
Eine Regel mit error ist fehlgeschlagen : das Validierungsfenster listet die Befunde auf und die
Schaltfläche Proceed bleibt ausgegraut. Korrigieren Sie das Asset, oder (wenn die Regel für Ihren
Kontext zu streng ist) senken Sie ihren Schweregrad auf warning, oder deaktivieren Sie sie.
Reset löscht meine Einstellungen
Reset to Defaults ist für Ihre benutzerdefinierten Konfigurationen destruktiv. Machen Sie vorher einen Export, wenn Sie zurückkehren können möchten.
Eine Regel scheint nichts zu tun
Drei Prüfungen, in dieser Reihenfolge :
- Von wo aus reicht die Person ein? Über den Desktop-Client, die Befehlszeile oder das Rider-Plugin wird keine Regel ausgewertet (siehe Wo die Regeln wirklich gelten).
- Ist die Regel aktiviert? Auf einem neuen Repository sind sie anfangs alle deaktiviert.
- Ist ihr Schweregrad der richtige? Nur
errorblockiert den Check-in ;infounterbricht nichts.