uVersion
Deutsch
Herunterladen →

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

Die Validierung erfolgt durch den Unreal-Editor, nicht durch den Server Die hier konfigurierten Regeln werden vom uVersion-Plugin für Unreal Engine heruntergeladen und ausgeführt, in dem Moment, in dem Sie aus dem Editor einreichen. Der Server selbst zieht die Regeln beim Aufzeichnen eines Commits niemals heran. Eine Konsequenz, die man kennen sollte, bevor man sich darauf verlässt : eine Einreichung über den Desktop-Client, über die Befehlszeile (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.

Automatische Erstbefüllung, aber alle deaktiviert Die 9 Standardregeln werden bei der Erstellung eines Repositories automatisch erstellt (und andernfalls beim ersten Öffnen des Rules-Tabs eines Repositories, das keine hat). Sie werden deaktiviert angelegt : auf einem neuen Repository läuft keine Validierung, solange ein Administrator nicht die gewünschten Regeln aktiviert hat. Sie starten mit einem vollständigen Satz, den Sie aktivieren und anpassen.

Schweregrade

Der Schweregrad entscheidet, was im Unreal-Editor passiert, wenn eine aktivierte Regel fehlschlägt.

SchweregradWirkung beim Check-in aus dem Unreal-Editor
errorBlockiert den Check-in : das Validierungsfenster öffnet sich, die Schaltfläche Proceed ist ausgegraut und nur OK bleibt anklickbar. Das Asset muss korrigiert werden.
warningVerhindert 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.
infoRein informativ : öffnet das Fenster nicht von allein und unterbricht nichts.
Das Fenster Pre-Checkin Validation im Unreal-Editor, mit der Liste der Befunde und der Schaltfläche Proceed.

Die 9 integrierten Regeln

RegelStandardWas sie prüft
blueprint_compilationerrorBlueprints kompilieren vor dem Check-in fehlerfrei.
naming_conventionwarningBenennungspräfixe (Allar-UE5-Stil) : T_ Texturen, M_ Materialien, BP_ Blueprints, SM_ Static Meshes, WBP_ Widgets usw.
max_texture_sizewarningMaximale Texturgröße : standardmäßig 4096 × 4096, Zweierpotenz erforderlich.
material_complexitywarningMaterialkomplexität : standardmäßig max. 256 Instruktionen, 16 Textursamples.
import_settingswarningKonforme Importeinstellungen (Texturen, Meshes).
missing_dependencyerrorKeine fehlende Abhängigkeit (ignoriert standardmäßig Engine-Inhalte).
circular_dependencyerrorKeine zirkuläre Abhängigkeit (Suchtiefe standardmäßig 20).
unreferenced_assetinfoMeldet nicht referenzierte Assets (schließt Karten und Widgets standardmäßig aus).
duplicate_assetwarningErkennt 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.

Die Liste der 9 Validierungsregeln : in jeder Zeile der Pfeil, der Aktivierungsschalter, der Regelname, ihr Schweregrad und das Dropdown-Menü Error / Warning / Info rechts.

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.

Eine aufgeklappte Regel in ihrem Configuration-(JSON)-Editor : der Parametertext im Eingabebereich und die Schaltfläche Save Config unten rechts.

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.json herunter, die den Zustand aller Regeln enthält (Aktivierung, Schweregrad, Konfiguration).
  • Import : lädt eine rules.json erneut 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

Eine committete rules.json wird nicht von jedem angewendet Eine committete Datei .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 :

  1. 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).
  2. Ist die Regel aktiviert? Auf einem neuen Repository sind sie anfangs alle deaktiviert.
  3. Ist ihr Schweregrad der richtige? Nur error blockiert den Check-in ; info unterbricht nichts.