

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Epische Unreal Engine
<a name="epic-unreal-engine"></a>

Unreal Engine ist ein 3D-Erstellungstool in Echtzeit für fotorealistische Bilder und immersive Erlebnisse. Unreal Engine wird von Deadline Cloud mit Einreichern, Conda-Paketen und einem Adapter für eine höhere Renderleistung unterstützt. Diese Anleitung enthält schrittweise Anleitungen zur Verwendung von Deadline Cloud mit Unreal Engine, um Ihre Movie Render Queue-Projekte schneller zu rendern, indem Renderaufgaben auf mehrere Computer verteilt werden.

## Überblick über den Support
<a name="unreal-engine-support-overview"></a>

Unreal Engine wird von den folgenden Komponenten unterstützt:
+ **Submitter**: Integriertes Submitter-Plugin für die direkte Einreichung von Jobs über Unreal Engine mit automatischer Szenen- und Objekterkennung.
+ **Conda-Pakete**: Deadline Cloud für die automatische Installation auf vom Service verwalteten Flotten.
+ **Adaptor**: Middleware für effizientes Rendern mit Sticky-Sessions und zusätzlicher Überwachung.
+ **Cross-platform Kompatibilität: Unterstützung** für Submitter und Worker nur für Windows.
+ **Movie Render Queue-Integration**: Support für das Movie Render Queue-System von Unreal.

## Versionskompatibilität der Unreal Engine
<a name="unreal-engine-version-compatibility"></a>

Die folgende Tabelle zeigt die aktuellen Unterstützungsstufen für Unreal Engine-Versionen:


| Major Version | Support für Einreicher | Conda-Unterstützung | 
| --- | --- | --- | 
| 5.4 | Windows | Windows | 
| 5.5 | Windows | Windows | 
| 5.6 | Windows | Windows | 
| 5,7 | Windows | Windows | 

## Frist Cloud Conda Channel
<a name="unreal-engine-conda-channel"></a>

In der folgenden Tabelle sind alle Conda-Pakete aufgeführt, die für Unreal Engine gelten und für Service-managed Flotten im Conda-Kanal verfügbar sind: `deadline-cloud`


| BS | Package | Version | 
| --- | --- | --- | 
| Windows | Unreal-Engine | 5.4 | 
| Windows | unwirklicher Motor | 5.5 | 
| Windows | unreale Engine | 5.6 | 
| Windows | unreale Engine | 5,7 | 
| Windows | Unreal-Engine-OpenJD |  | 

## Erste Schritte
<a name="unreal-engine-getting-started"></a>

### Voraussetzungen
<a name="unreal-engine-prerequisites"></a>

Stellen Sie vor der Installation von Unreal Engine Submitter sicher, dass Sie über Folgendes verfügen:
+ Windows-Workstation (Windows 10 oder höher)
+ Unterstützte Version von Unreal Engine ist installiert
+ Deadline Cloud Monitor installiert ([hier herunterladen](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/monitor-onboarding.html))
+ Zugriff auf eine Deadline Cloud-Farm mit entweder einer vom GPU-enabled Windows-Dienst verwalteten Flotte oder einer vom Kunden verwalteten Flotte mit Unreal Engine, dem Unreal Engine-Adapter und Lizenzierung

## Installation des Absenders
<a name="unreal-engine-installation"></a>

Der Unreal Engine-Submitter fügt der Unreal Engine die Deadline Cloud-Funktionalität als Plugin hinzu, sodass Sie Ihre Movie Render Queue-Jobs zum Rendern direkt an Deadline Cloud senden können.

### Wählen Sie Ihre Branche
<a name="unreal-engine-choose-branch"></a>

Wählen Sie die passende Filiale für Ihre Bereitstellung aus:


| Verzweigung | Stabilität | Anwendungsfall | Empfohlen für | 
| --- | --- | --- | --- | 
| Veröffentlichung | Stabil | Produktion | Die meisten Nutzer | 
| Hauptleitung | Die neuesten Funktionen | Entwicklung und Erprobung | Fortgeschrittene Nutzer | 

**Tipp**  
Verwenden Sie den **Release-Zweig** für Produktionsumgebungen, um Stabilität zu gewährleisten.

### Eine neue Windows Amazon EC2 EC2-Instance erstellen, auf der Unreal installiert werden soll (optional)
<a name="unreal-engine-create-ec2"></a>

Wenn Sie als Einreicher eine brandneue Windows Amazon Elastic Compute Cloud (Amazon EC2) -Instance einrichten, ist eine g5.2xlarge-Instance mit 200 GB Speicherplatz ein angemessenes Minimum:

1. Starten Sie eine Amazon EC2 EC2-Instance mit einem gültigen Instance-Profil. Dies ist erforderlich, um NVIDIA GRID-Treiber wie unten beschrieben herunterzuladen.

1. Laden Sie den Epic Installer herunter und installieren Sie eine unterstützte Version von Unreal (5.4 — 5.7).
   + UE 5.5 hat einen bekannten Absturzfehler, wenn es mit dem DirectX 11-Plugin ausgeführt wird (siehe UE-Problem Nr.UE-276282). Wenn Sie DirectX-Unterstützung auf UE 5.5 benötigen, verwenden Sie DirectX 12 oder höher.

1. NVIDIA GRID-Treiber — Folgen Sie den [Installationsanweisungen von Windows](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html#nvidia-GRID-driver).

### Lange Windows-Pfade
<a name="unreal-engine-windows-long-paths"></a>

Bei vielen der folgenden Schritte können Dateien erstellt werden, die die standardmäßige maximale Pfadlänge von Windows überschreiten. Bevor Sie den Submitter oder Adapter von Deadline Cloud for Unreal Engine auf einem Windows-Computer erstellen und installieren, empfehlen wir Ihnen, die Windows-Unterstützung für lange Pfade zu aktivieren. [Folgen Sie dazu den Anweisungen auf der Seite [Maximale Dateipfadbeschränkung](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry), indem Sie beispielsweise den Befehl ausführen. PowerShell ](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#tabpanel_1_powershell)

Es gibt auch ein [offenes Problem auf dem Worker-Agent](https://github.com/aws-deadline/deadline-cloud-worker-agent/issues/520), das durch eine Abhängigkeit verursacht wird, die nicht so konfiguriert ist, dass sie lange Windows-Pfade unterstützt. Wenn Sie Ihre Worker einrichten, folgen Sie den Schritten zur Problemumgehung im verlinkten Problem, um Windows Long Paths vollständig zu unterstützen, bis das Problem behoben ist.

### Build-Tools installieren
<a name="unreal-engine-install-build-tools"></a>

Das Unreal Submitter-Plugin muss derzeit lokal kompiliert werden.

1. Installieren Sie Visual Studio mit dem [Visual](https://visualstudio.microsoft.com/) Studio Installer.

1. Überprüfen Sie anhand der [Epic-Kompatibilitätstabelle](https://dev.epicgames.com/documentation/en-us/unreal-engine/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine?application_version=5.5), ob Ihre Version von Visual Studio und Build Tools mit Ihrer Version von Unreal kompatibel ist.

1. Stellen Sie unter **Einzelne Komponenten** sicher, dass die ausgewählte Version der MSVC-Build-Tools (standardmäßig „Neueste“) mit der empfohlenen Version in der Tabelle übereinstimmt. Auch wenn in den Kompatibilitätsrichtlinien möglicherweise eine Version „oder höher“ vorgeschlagen wird, treten manchmal Build-Fehler auf, wenn eine neuere Version als die als „empfohlen“ aufgeführte verwendet wird.

1. Wählen Sie unter **Einzelne Komponenten** ein aktuelles .NET Framework-SDK aus (4.6.1 und 4.8.1 wurden überprüft).

1. Wählen Sie unter **Workloads** die Option **Desktop-Entwicklung** mit C\+\+ aus.

### Deadline Cloud Monitor installieren
<a name="unreal-engine-install-monitor"></a>

Der Deadline Cloud-Monitor wird verwendet, um sowohl Ihre Anmeldeinformationen für die Einreichung von Jobs an Deadline Cloud zu verwalten als auch den Status Ihrer Jobs zu überwachen.

1. Folgen Sie den [Installationsanweisungen für den Deadline Cloud Monitor](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/submitter.html#install-deadline-cloud-monitor).

1. Anmeldung

### Einrichtung der Umgebung
<a name="unreal-engine-environment-setup"></a>

1. (Falls nicht bereits installiert) Installieren Sie eine aktuelle Version von Python für alle Benutzer (verifiziert mit 3.12).

1. Stellen Sie sicher, dass Ihre Umgebungsvariablen korrekt eingestellt sind. In den Systemumgebungsvariablen muss Ihr PATH Folgendes enthalten:
   + Der Pfad zu Ihrer Python-Installation (zum Beispiel`C:\Program Files\Python312`).
   + Der Pfad zu Ihrem Python Scripts-Ordner (z. B.`C:\Program Files\Python312\scripts`).
   + Der Pfad zu Ihren Unreal-Binärdateien (zum Beispiel`C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\Win64`).

### Deadline — Installation der Cloud-Software
<a name="unreal-engine-deadline-software-install"></a>

Klonen oder laden Sie es entweder `deadline-cloud-for-unreal-engine` vom Release-Branch oder von der Mainline herunter, je nachdem, ob Sie die zuletzt getestete Version oder alle aktuellen Commits verwenden möchten.

```
git clone https://github.com/aws-deadline/deadline-cloud-for-unreal-engine.git
cd deadline-cloud-for-unreal-engine
git switch release
```

### Optional — Erstelle und installiere das Plugin mit einem Skript
<a name="unreal-engine-build-with-script"></a>

Ein Hilfsskript unter automatisiert `scripts/build_plugin.py` optional die nächsten beiden Schritte. Es versucht, die neueste Version von Unreal zu finden, erstellt Ihre Plugin- und Python-Abhängigkeiten und installiert sie an den richtigen Orten. Sie können Einstellungen wie die Unreal-Version überschreiben. Um die vollständige Hilfeliste zu sehen, führe folgenden Befehl aus:

```
python scripts/build_plugin.py -h
```

Um deine aktuelle Version von `deadline-cloud-for-unreal-engine` as a submitter mit der neuesten Unreal Engine-Installation zu erstellen und zu installieren, führe folgenden Befehl aus:

```
python scripts/build_plugin.py --install
```

Wenn Sie die Installation mit diesem Skript erfolgreich durchgeführt haben, können Sie zu springen. [Eine Flotte erstellen](#unreal-engine-create-fleet)

### Erstellen Sie das Plugin
<a name="unreal-engine-build-plugin"></a>

Passen Sie die ersten beiden Pfade unten an, je nachdem, wo sich Ihre Installation von Unreal befindet und wo Sie sie installiert haben`deadline-cloud-for-unreal-engine`.

Aus dem Ordner Unreal Install Batchfiles (der `package` Parameter kann ein beliebiges neues Verzeichnis sein, Sie möchten jedoch, dass es später aufgerufen wird): `UnrealDeadlineCloudService`

```
cd C:\Program Files\Epic Games\UE_5.5\Engine\Build\BatchFiles
runuat.bat BuildPlugin -plugin="C:\deadline\deadline-cloud-for-unreal-engine\src\unreal_plugin\UnrealDeadlineCloudService.uplugin" -package="C:\UnrealDeadlineCloudService"
```

Kopieren Sie den obigen Ordner „Paket“ in den Plugins-Ordner Ihrer Unreal-Installation (z. B.). `C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService`

### Python-Abhängigkeiten
<a name="unreal-engine-python-deps"></a>

Es gibt 4 Möglichkeiten, die erforderlichen Python-Abhängigkeiten zu installieren.

1. Wenn Sie das Plugin aus dem obigen Release-Zweig erstellt und installiert haben, können Sie es von Pip aus installieren. Verwende den folgenden Installationsbefehl und passe die Pfade zu deiner Unreal-Installation an:

```
"C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\ThirdParty\Python3\Win64\python" -m pip install deadline-cloud-for-unreal-engine --target "C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\Content\Python\libraries"
```

2. Alternativ können Sie in Ihrer `.uplugin` Datei (in den obigen Schritten würde sich das `C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\UnrealDeadlineCloudService.uplugin` befinden) einen `PythonRequirements` Abschnitt hinzufügen, der der neuesten Version von `deadline-cloud-for-unreal-engine` in entspricht GitHub/PyPI, zum Beispiel:

```
"PythonRequirements":
[
    {
        "Platform": "All",
        "Requirements":
        [
            "deadline-cloud-for-unreal-engine>=0.5.0"
        ]
    }
]
```

Möglicherweise möchten Sie die Funktion „Strict Hash“ in den Python-Einstellungen von Unreal deaktivieren oder Hash-Einstellungen für bestimmte Bibliotheks- und Abhängigkeitsversionen hinzufügen, die Sie verwenden möchten.

3. Wenn Sie von der Mainline abrufen, haben Sie möglicherweise Python-Abhängigkeiten, die noch nicht für PyPI veröffentlicht wurden. Sie müssen Ihre lokale Kopie erstellen und installieren, was mit Hatch erledigt werden kann. Die `.whl` Datei muss geändert werden, um die Version widerzuspiegeln, die von hatch build ausgegeben wird:

```
pip install hatch
hatch build
"C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\ThirdParty\Python3\Win64\python" -m pip install dist\deadline_cloud_for_unreal_engine-0.2.2.post21-py3-none-any.whl --target "C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\Content\Python\libraries"
```

4. Schließlich können Python-Abhängigkeiten vom Installationsprogramm des Absenders installiert werden. Diese sind möglicherweise mit Ihrem obigen Code aus dem Release- oder Mainline-Zweig veraltet, und diese Methode sollte derzeit nicht bevorzugt werden.

1. Laden Sie das Installationsprogramm für den Absender von der Deadline Cloud AWS-Konsole auf der Registerkarte Downloads oder im Deadline Cloud-Monitor unter Workstation-Setup → Downloads herunter.

1. Führen Sie das Installationsprogramm für alle Benutzer aus. Der Standardinstallationsort ist in Ordnung.

1. Aktivieren Sie das Unreal Engine-Plugin.

1. Stellen Sie sicher, dass der Installationspfad des Unreal Engine-Plugins mit dem Speicherort übereinstimmt, in den Ihr Plugin kopiert wurde (stellen Sie insbesondere sicher, dass Ihre Unreal-Version übereinstimmt).

### Benachrichtigungen aktualisieren
<a name="unreal-engine-update-notifications"></a>

Das Submitter-Plugin sucht GitHub beim Start des Unreal Editors automatisch nach neueren Versionen. Wenn ein Update verfügbar ist, werden Sie in einem Dialogfeld aufgefordert, die Release-Seite zu besuchen.

Um Aktualisierungsbenachrichtigungen zu deaktivieren, deaktivieren Sie unter **Allgemeine Einstellungen in den Deadline Cloud-Einstellungen (**Bearbeiten** > **Projekteinstellungen**** > **Plugins** > Deadline Cloud) die Option **Aktualisierungsbenachrichtigungen für **Einreicher** anzeigen**.

Alternativ können Sie die CLI verwenden:

```
deadline config set settings.submitter_update_notification false
```

Um es wieder zu aktivieren:

```
deadline config set settings.submitter_update_notification true
```

## Eine Flotte erstellen
<a name="unreal-engine-create-fleet"></a>

Wenn Sie bereits über eine Windows-Flotte verfügen und keine neue Flotte einrichten müssen, können Sie direkt zu[Ein Test-Rendering einreichen](#unreal-engine-test-render).

### Erstellen einer Service-Managed-Flotte (SMF)
<a name="unreal-engine-create-smf"></a>

Folgen Sie der [Benutzeranleitung für serviceverwaltete Flotten](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/smf-manage.html), um ein SMF zu erstellen, falls Sie noch keines haben. [Bei [Service-Managed Fleets (SMFs)](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/smf-manage.html) sind die Unreal Engine und der Adapter automatisch über den Conda-Kanal mit der `deadline-cloud` Standard-Warteschlangenumgebung verfügbar.](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment) Sie sind bereit, mit dem Rendern zu beginnen. Fahren [Ein Test-Rendering einreichen](#unreal-engine-test-render) Sie mit den folgenden Schritten fort, um einen Test-Render-Job einzureichen.

### Aufbau einer kundenverwalteten Flotte (CMF)
<a name="unreal-engine-create-cmf"></a>

1. Folgen Sie [Create a customer managed fleet (Kundenverwaltete Flotte](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/create-a-cmf.html) erstellen), um eine CMF zu erstellen, falls Sie noch keine haben.
**Warnung**  
Wenn Sie Ihr CMF Warteschlangen zuordnen, entfernen Sie die standardmäßige Conda-Warteschlangenumgebung, falls Sie sie nicht verwenden. Dadurch wird verhindert, dass die Conda-Umgebung verwendet wird und versehentlich die SMF-specific Standardvariablen für Jobs verwendet, die an Ihr CMF gesendet werden. Wenn Sie Conda in Ihrem CMF verwenden, denken Sie daran, die `CondaChannels` Variablen in den Überschreibungen der **Parameterdefinitionen während der Jobübergabe** zu aktualisieren`CondaPackages`.

1. Folgen Sie den Anweisungen zum [Einrichten und Konfigurieren des Worker-Hosts](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/worker-host.html), um einen Worker-Host einzurichten.

1. Folgen Sie dem [Abschnitt Zugriff auf Windows-Job-Benutzergeheimnisse verwalten](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/manage-access-windows-secrets.html), um die Windows-Job-Benutzergeheimnisse für Ihren CMF-Worker einzurichten.

1. Folgen Sie [Installation und Konfiguration der für Jobs erforderlichen Software](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/install-software.html), um die für die Ausführung von Jobs erforderliche Software zu installieren.

1. Folgen Sie[Einrichtung eines vom Kunden verwalteten Flottenmitarbeiters (CMF)](#unreal-engine-cmf-worker-setup), um Ihren Worker-Knoten für die Ausführung von Unreal Engine-Jobs einzurichten.

## Ein Test-Rendering einreichen
<a name="unreal-engine-test-render"></a>

In diesem Beispiel wird die Meerkat-Demo vom Unreal Marketplace verwendet:

1. Starte den Epic Games Launcher.

1. Installiere die Meerkat-Demo über den Tab **Samples**.

1. Erstellen Sie ein Projekt aus der Meerkat-Demo und öffnen Sie es dann.

1. Wählen **Sie im Menü Bearbeiten** die Option **Plugins** aus, suchen Sie danach und aktivieren Sie sie. **UnrealDeadlineCloudService**

1. Starte Unreal neu, wenn du das Plugin zum ersten Mal aktiviert hast.

1. Suchen **Sie unter Bearbeiten** > **Projekteinstellungen** nach dem Abschnitt **Movie Render Pipeline**.
   + Wählen Sie für **Default Remote Executor** die Option aus. **MoviePipelineDeadlineCloudRemoteExecutor**
   + Wählen Sie für **Default Executor Job** die Option aus. **MoviePipelineDeadlineCloudExecutorJob**
   + Wählen Sie unter **Standardklassen für Jobeinstellungen** das Symbol „Hinzufügen“ aus und fügen Sie es hinzu **DeadlineCloudRenderStepSetting**.

1. Suchen Sie nach den **Deadline Cloud-Einstellungen** und überprüfen Sie die Authentifizierung:
   + Stellen Sie sicher, dass Ihr Status „AUTHENTIFIZIERT“ und die Deadline Cloud API „AUTHORIZED“ anzeigt.
   + Wenn es nicht angezeigt wird, versuchen Sie es zunächst mit der **Anmeldeschaltfläche**. Wenn das nicht funktioniert, öffnen Sie Deadline Cloud Monitor und stellen Sie sicher, dass Sie angemeldet sind.
   + Gehen Sie im Abschnitt **Konfiguration der Deadline Cloud Workstation** wie folgt vor:
     + Stellen Sie unter **Allgemeine Einstellungen** sicher, dass Ihr AWS-Profil korrekt auf Ihr Deadline Cloud-Monitorprofil eingestellt ist.
     + Stellen Sie unter **Profil** sicher, dass Ihre Standardfarm auf Ihre Farm eingestellt ist.
     + Stellen Sie unter **Farm** sicher, dass Ihre Standardwarteschlange auf eine Warteschlange eingestellt ist, die mit der Flotte verknüpft ist, die Sie oben eingerichtet haben.

1. Verlassen Sie das Fenster mit den Projekteinstellungen.

1. Wählen Sie **Windows**, **Cinematics**, **Movie Render Queue**.
   + Wählen Sie **\+ Rendern** und wählen Sie **Main\_SEQ**.
   + Wählen Sie **UnsavedConfig**in der Einstellungsspalte.
     + Im Popup-Fenster sollten Sie links die Deadline Cloud-Einstellungen sehen. Dieses Fenster kann dann geschlossen werden.
   + Konfigurieren Sie auf der rechten Seite des Dialogs die Jobeinstellungen:
     + Gehen Sie unter **Voreinstellungsüberschreibungen** (möglicherweise müssen Sie diesen Dialog erweitern):
       + Erweitern Sie **Job Shared Settings**:
         + Legen Sie **Name** auf `Unreal Test Job` fest.
         + Stellen Sie „**Maximale Anzahl Wiederholungen**“ auf 2 ein.
       + Erweitern Sie die **Jobanhänge**:
         + Wählen Sie unter **Eingabedateien** die Option **Anzeigen** aus Auto-Detected.
         + Stellen Sie sicher, dass die Liste der automatisch erkannten Dateien korrekt ausgefüllt wird.
     + Unter **Jobvorlagen-Überschreibungen**:
       + Aktualisieren Sie die Unreal Engine-Version in **CondaPackages**, wenn Sie eine andere Version als 5.6 verwenden.
         + Die automatische Erkennung der Unreal Engine-Version wird in einer future Version verfügbar sein.
   + Wählen Sie **Rendern (Remote)**.

1. Sie können zum Deadline Cloud-Monitor gehen und den Fortschritt Ihres Jobs verfolgen.

## Einrichtung eines vom Kunden verwalteten Flottenmitarbeiters (CMF)
<a name="unreal-engine-cmf-worker-setup"></a>

Dieser Abschnitt führt Sie durch die Einrichtung einer Amazon EC2 EC2-Instance als CMF-Worker für Deadline Cloud mit Unreal Engine.

### -Übersicht
<a name="unreal-engine-cmf-overview"></a>

Im Folgenden sind die wichtigsten Unterschiede zwischen CMF und SMF aufgeführt:
+ **CMF**: Manuelle Installation von Unreal Engine und Adapter auf Worker-Hosts.
+ **SMF**: Automatische Verfügbarkeit über den Conda-Kanal. `deadline-cloud`

### Wählen Sie Ihre Filiale
<a name="unreal-engine-cmf-choose-branch"></a>

Wählen Sie die passende Filiale für Ihre Bereitstellung aus:


| Verzweigung | Stabilität | Anwendungsfall | 
| --- | --- | --- | 
| veröffentlichen | Stabil | Bereitstellungen in der Produktion | 
| Hauptleitung | Neueste | Entwicklung und Erprobung | 

**Wichtig**  
Stellen Sie sicher, dass Ihre Worker-Version mit Ihrer Absender-Version übereinstimmt, um Kompatibilitätsprobleme zu vermeiden.

### Einrichtung einer Amazon EC2 EC2-Instanz
<a name="unreal-engine-cmf-ec2-setup"></a>

Die folgende Instance-Konfiguration wird empfohlen:
+ **Instanztyp**: g5.2xlarge oder höher.
+ **Speicher**: mindestens 200 GB.
+ **Betriebssystem**: Windows Server 2019/2022.

#### Installation der Software
<a name="unreal-engine-cmf-software-install"></a>

**1. Installieren Sie Unreal Engine**:

1. Laden Sie den Epic Games Launcher herunter.

1. Installiere Unreal Engine 5.4 oder höher.
**Anmerkung**  
Unreal Engine 5.4\+ ist für die Deadline Cloud-Kompatibilität erforderlich.

**2. Installieren Sie die NVIDIA GRID-Treiber**:
+ Folgen Sie der [Installationsanleitung für den AWS NVIDIA GRID-Treiber](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html#nvidia-GRID-driver).
+ Erforderlich für das GPU-accelerated Rendern auf Amazon EC2 EC2-Instances.

### Build-Tools werden installiert
<a name="unreal-engine-cmf-build-tools"></a>

Das Unreal-Plugin muss derzeit lokal kompiliert werden.

1. Installieren Sie Visual Studio mit dem [Visual Studio Installer](https://visualstudio.microsoft.com/).

1. Überprüfen Sie anhand der [Epic-Kompatibilitätstabelle](https://dev.epicgames.com/documentation/en-us/unreal-engine/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine?application_version=5.5), ob Ihre Version von Visual Studio und Build Tools mit Ihrer Version von Unreal kompatibel ist.

1. Stellen Sie unter **Einzelne Komponenten** sicher, dass die ausgewählte Version der MSVC-Build-Tools (standardmäßig „Neueste“) mit der empfohlenen Version in der Tabelle übereinstimmt.

1. Wählen Sie unter **Individuelle Komponenten** ein aktuelles .NET Framework-SDK aus (4.6.1 und 4.8.1 wurden überprüft).

1. Wählen Sie unter **Workloads** die Option **Desktop-Entwicklung** mit C\+\+ aus.

### Frist für die Installation der Cloud-Software
<a name="unreal-engine-cmf-deadline-install"></a>

Klonen oder laden Sie es entweder `deadline-cloud-for-unreal-engine` von der Release-Filiale oder der Mainline herunter. Stellen Sie sicher, dass Ihre Worker-Version der Bibliotheken mit der Version kompatibel ist, die von Ihren Einsendern verwendet wird.

```
git clone https://github.com/aws-deadline/deadline-cloud-for-unreal-engine.git
cd deadline-cloud-for-unreal-engine
git switch release
```

Optional — Erstellen und installieren Sie das Plugin und die Abhängigkeiten mit einem Skript:

Es gibt ein Hilfsskript`scripts/build_plugin.py`, das die restlichen Installationsschritte automatisieren kann. Es versucht, die neueste Version von Unreal zu finden, Ihre Plugin- und Python-Abhängigkeiten zu erstellen und sie an den richtigen Orten zu installieren. Einstellungen wie die zu verwendende Unreal-Version können überschrieben werden. Um die vollständige Hilfeliste zu sehen, führe folgenden Befehl aus:

```
python scripts/build_plugin.py -h
```

Um deine aktuelle Version von `deadline-cloud-for-unreal-engine` as a Worker mit der neuesten Unreal Engine-Installation zu erstellen und zu installieren, führe folgenden Befehl aus:

```
python scripts/build_plugin.py --install --worker
```

Konfigurieren Sie den Deadline Cloud-Worker-Agent, indem Sie Folgendes ausführen:

```
install-deadline-worker ^
  --farm-id FARM_ID ^
  --fleet-id FLEET_ID ^
  --region REGION ^
  --allow-shutdown
```

Wenn Sie mit diesem Skript installiert und den Worker-Agent erfolgreich konfiguriert haben, können Sie zu springen[Der Deadline Cloud Worker Agent Service wird gestartet](#unreal-engine-cmf-start-agent).

```
python -m pip install deadline-cloud-worker-agent
```

Je nachdem, welche Version des verwendeten Submitters verwendet wird, muss die richtige Version des Adapters installiert werden. Wenn Sie die Version des Absenders aus dem Release-Zweig in verwenden GitHub, können Sie die Installation einfach mit pip durchführen:

```
python -m pip install deadline-cloud-for-unreal-engine
```

Wenn Sie die Mainline-Version oder eine benutzerdefinierte, noch in der Entwicklung befindliche Version des Submitters verwenden, empfehlen wir zur Vermeidung von Kompatibilitätsproblemen, dass Sie mit derselben Codeversion bauen und installieren oder die Datei aus Ihrem Submitter-Build übertragen: `.whl`

```
pip install hatch
hatch build
python -m pip install dist\my-built-wheel.whl
```

### Das Plugin erstellen
<a name="unreal-engine-cmf-build-plugin"></a>

Passen Sie die ersten beiden Pfade unten an, je nachdem, wo sich Ihre Installation von Unreal befindet und wo Sie sie installiert haben`deadline-cloud-for-unreal-engine`.

Aus dem Ordner Unreal Install Batchfiles (der `package` Parameter kann ein beliebiges neues Verzeichnis sein, Sie möchten jedoch, dass es später aufgerufen wird): `UnrealDeadlineCloudService`

```
cd C:\Program Files\Epic Games\UE_5.5\Engine\Build\BatchFiles
runuat.bat BuildPlugin -plugin="C:\deadline\deadline-cloud-for-unreal-engine\src\unreal_plugin\UnrealDeadlineCloudService.uplugin" -package="C:\UnrealDeadlineCloudService"
```

Kopieren Sie den obigen Ordner „Paket“ in den Plugins-Ordner Ihrer Unreal-Installation (z. B.). `C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService`

### pywin32
<a name="unreal-engine-cmf-pywin32"></a>

Die Python-Version von Unreal benötigt pywin32. Pip-Installation mit einer Kopie der Python-Installation eines Drittanbieters von Unreal:

```
"C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\ThirdParty\Python3\Win64\python" -m pip install pywin32
```

### Der Deadline Cloud Worker Agent Service wird gestartet
<a name="unreal-engine-cmf-start-agent"></a>

Auf Ihrer CMF-Worker-Instanz:

1. Öffnen Sie den **Task-Manager**.

1. Wählen Sie auf der rechten Seite die Registerkarte **Dienste**.

1. Finden **DeadlineWorker**.
   + Wenn es nicht aufgeführt ist, haben Sie wahrscheinlich (`install-deadline-worker`insbesondere) Schritte der [CMF-Host-Setup-Schritte](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/worker-host.html#worker-agent-config) verpasst.

1. Wenn der Status des Dienstes derzeit nicht „Wird ausgeführt“ lautet, klicken Sie mit der rechten Maustaste darauf und wählen Sie **Start**.

1. Wenn Ihr DeadlineWorker Dienst nicht gestartet wird, überprüfen Sie die Startprotokolle des Worker-Agents an folgenden Orten:
   + `C:\ProgramData\Amazon\Deadline\Logs\worker-agent.log`
   + `C:\ProgramData\Amazon\Deadline\Logs\queue-<queueid>\session-<sessionid>.log`

## Verwaltung von Anmeldedaten mit Perforce
<a name="unreal-engine-perforce-credentials"></a>

In diesem Abschnitt wird die sichere Verwaltung von Anmeldedaten für die Integration von Perforce mit Deadline Cloud-Workern behandelt.

### -Übersicht
<a name="unreal-engine-p4-cred-overview"></a>

Es gibt verschiedene Ansätze, Perforce-Anmeldeinformationen für Deadline Cloud-Worker zu konfigurieren. Jede Methode hat unterschiedliche Auswirkungen auf die Sicherheit und unterschiedliche Anwendungsfälle:


| Methode | Sicherheitsstufe | Unterstützung bei der Bereitstellung | Empfohlene Verwendung | 
| --- | --- | --- | --- | 
| AWS Secrets Manager (Secrets Manager) | Hoch | SMF \+ CMF | Produktion (empfohlen) | 
| Variablen der Arbeitsumgebung | Niedrig | SMF \+ CMF | Nur Entwicklung und Testen | 
| Umgebungsvariablen in die Warteschlange | Niedrig | SMF \+ CMF | Nur Entwicklung und Testen | 
| Windows-Registrierung | Mittel | Nur CMF | Ältere CMF-Setups | 
| Pre-configured Admin-Benutzer | Mittel | Nur CMF | Vereinfachte CMF-Setups | 

**Wichtig**  
Verwenden Sie Secrets Manager für Produktionsumgebungen. Es bietet einen zentralen, verschlüsselten Speicher für Anmeldeinformationen mit Prüfprotokollen und funktioniert sowohl mit SMF- als auch mit CMF-Bereitstellungen.

### Grundlagen der P4-Anmeldeinformationen
<a name="unreal-engine-p4-cred-basics"></a>

Beim Abrufen der Verbindungseinstellungen, einschließlich Perforce-Server-URL und -Port, Benutzername und Passwort, folgt Perforce der folgenden Priorität:

1. Verbindungsparameter in einem beliebigen Framework für Perforce (P4) (`p4python.P4`zum Beispiel).

1. User/system Umgebungsvariablen:`P4PORT`,,`P4USER`,`P4CLIENT`. `P4PASSWD`

1. Windows-Registrierung: `HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment` (systemweite Einstellungen) oder `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment` (benutzerspezifische Einstellungen).

Mit diesen Prioritäten, wenn Sie die folgende Konfiguration haben:
+ Der Verbindungsparameter `password` ist `password.from.connection`
+ Die Umgebungsvariable `%P4PORT%` ist `ssl:perforce.from.env:1666`
+ Die Windows-Registrierung `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PORT` ist `ssl:perforce.from.registry:1666`
+ Windows-Registrierung `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4USER` ist `user.from.registry`
+ Windows-Registrierung `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PASSWD` ist `password.from.registry`

Die resultierende Perforce-Verbindung wird wie folgt aussehen:

```
Port = ssl:perforce.from.env:1666
User = user.from.registry
Password = password.from.connection
```

### Secrets Manager (empfohlen)
<a name="unreal-engine-p4-cred-secrets-manager"></a>

Secrets Manager bietet die sicherste und skalierbarste Lösung für CMF- und SMF-Bereitstellungen.

Diese Methode bietet folgende Vorteile:
+ **Zentralisierte Sicherheit**: Speichern Sie alle P4-Anmeldeinformationen an einem verschlüsselten Ort.
+ **Keine Offenlegung von Anmeldeinformationen**: Anmeldeinformationen werden niemals in Auftragskonfigurationen oder Protokollen angezeigt.
+ **Automatische Rotation**: Support die Rotation von Anmeldeinformationen ohne Neukonfiguration des Jobs.
+ **Prüfpfade**: Verfolgen Sie den Zugriff und die Nutzung von Anmeldeinformationen.
+ **Universeller Support**: Funktioniert sowohl mit CMF- als auch mit SMF-Bereitstellungen.
+ Schwärzung von **Protokollen: Verbindungsanmeldeinformationen werden automatisch in den Jobprotokollen geschwärzt**.

#### Schritt 1: Erstellen Sie ein Geheimnis in Secrets Manager
<a name="unreal-engine-p4-create-secret"></a>

Erstellen Sie ein Geheimnis, das Ihre Perforce-Verbindungsparameter enthält.

**Erforderliche Schlüssel-Wert-Paare**:
+ `P4PORT`- Perforce-Server-URL und Port.
+ `P4USER`- Perforce-Benutzername.
+ `P4PASSWD`- Perforce-Passwort.

**Wichtig**  
Die Schlüsselnamen müssen exakt mit den P4-Verbindungsparametern übereinstimmen, um mit ihnen arbeiten zu können. `deadline-cloud-for-unreal-engine`

**Beispiel für ein Geheimnis**:

```
{
   "P4PORT": "ssl:your-perforce-server.com:1666",
   "P4USER": "your-perforce-username",
   "P4PASSWD": "your-perforce-password"
}
```

**Um das Geheimnis zu erstellen**:

1. Öffnen Sie die Secrets Manager-Konsole.

1. Wählen Sie „Neues Geheimnis speichern“.

1. Wählen Sie „Andere Art von Geheimnis“.

1. Geben Sie die obigen Schlüssel-Wert-Paare ein.

1. Nennen Sie Ihr Geheimnis (zum Beispiel). `deadline-cloud-p4-credentials`

1. Schließen Sie den Erstellungsprozess ab.

#### Schritt 2: Gewähren Sie dem Mitarbeiter Zugriff auf das Geheimnis
<a name="unreal-engine-p4-grant-access"></a>

Arbeitnehmer benötigen eine `secretsmanager:GetSecretValue` Genehmigung, um auf das Geheimnis zugreifen zu können. Dies folgt demselben Muster wie die [Verwaltung von Windows-Job-Benutzergeheimnissen](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/manage-access-windows-secrets.html#grant-access).

**Um Zugriff zu gewähren**:

1. Öffnen Sie die Secrets Manager Manager-Konsole und navigieren Sie zu Ihrem Secret.

1. Fügen Sie im Abschnitt „Ressourcenberechtigungen“ diese Richtlinie hinzu:

   ```
   {
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": "QUEUE_ROLE_ARN"
         },
         "Action": [
           "secretsmanager:GetSecretValue"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

1. `QUEUE_ROLE_ARN`Ersetzen Sie es durch den ARN Ihrer tatsächlichen Warteschlangenrolle.

1. Speichern Sie die Richtlinie.

**Anmerkung**  
Speichern Sie den geheimen Namen. Sie benötigen ihn für die Konfiguration von P4-Renderjobs. Die nächsten Schritte [Einen Perforce-Renderjob erstellen](#unreal-engine-perforce-render-job) finden Sie unter.

### Variablen der Arbeitsumgebung
<a name="unreal-engine-p4-job-env"></a>

**Warnung**  
Dieser Ansatz wird für die Produktion nicht empfohlen, da er Anmeldeinformationen in Auftragskonfigurationen und Protokollen offenlegt. Verwenden Sie Secrets Manager für Produktionsumgebungen.

Sie können Verbindungsinformationen innerhalb der Jobumgebung übergeben, in der der Workspace erstellt wird, z. B. in [p4\_sync\_smf\_environment, [ugs\_sync\_smf\_environment](https://github.com/aws-deadline/deadline-cloud-for-unreal-engine/blob/mainline/src/unreal_plugin/Content/Python/openjd_templates/ugs/ugs_sync_smf_environment.yml) oder ähnlichen Umgebungen](https://github.com/aws-deadline/deadline-cloud-for-unreal-engine/blob/mainline/src/unreal_plugin/Content/Python/openjd_templates/p4/p4_sync_smf_environment.yml) für CMF. Alternativ können Sie eine neue Umgebungsvorlage erstellen und sie Ihrem Job voranstellen.

```
name: P4Credentials
variables:
  P4PORT: ssl:my-perforce.com:1666
  P4USER: j.doe
  P4PASSWD: MyVeRyS3cretP4ssW0rd
```

Dieser Ansatz birgt die folgenden Sicherheitsrisiken:
+ Anmeldeinformationen sind in Jobkonfigurationen sichtbar.
+ Passwörter können in Protokollen erscheinen (nicht automatisch geschwärzt).
+ Keine zentrale Verwaltung von Anmeldeinformationen.
+ Es ist schwierig, Anmeldeinformationen zu wechseln.

### Umgebungsvariablen in die Warteschlange
<a name="unreal-engine-p4-queue-env"></a>

**Warnung**  
Dieser Ansatz wird für die Produktion nicht empfohlen, da er Anmeldeinformationen in Warteschlangenkonfigurationen speichert. Verwenden Sie Secrets Manager für die sichere Verwaltung von Anmeldeinformationen.

Gemäß dem [Deadline Cloud-Benutzerhandbuch](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html) können Sie Warteschlangenumgebungen verwenden, um Softwareanwendungen, Umgebungsvariablen und andere Ressourcen für Jobs in der Warteschlange bereitzustellen. Beispiele für Warteschlangenumgebungen finden Sie im [Ordner queue\_environments](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/queue_environments) unter deadline-cloud-samples.

#### Fügen Sie mithilfe des Deadline Cloud-Monitors oder der Konsole eine Warteschlangenumgebung hinzu
<a name="unreal-engine-p4-add-env-dcm"></a>

1. Öffnen Sie Deadline Cloud Monitor oder die AWS-Konsole.

1. Navigieren Sie zu der Farm und Warteschlange, mit der Sie gerade arbeiten.

1. Wählen Sie die Registerkarte **Warteschlangenumgebungen** aus.

1. Wählen Sie **Aktion** und dann **Neues mit YAML erstellen** aus.

1. Fügen Sie Folgendes hinzu und speichern Sie:

   ```
   specificationVersion: environment-2023-09
   name: P4Credentials
   variables:
      P4PORT: ssl:my-perforce.com:1666
      P4USER: j.doe
      P4PASSWD: MyVeRyS3cretP4ssW0rd
   ```

#### Fügen Sie eine Warteschlangenumgebung mit CLI hinzu
<a name="unreal-engine-p4-add-env-cli"></a>

1. Erstellen Sie eine `p4_credentials.yaml` Datei mit dem obigen Beispiel.

1. Führen Sie den folgenden CLI-Befehl aus:

   ```
   aws deadline create-queue-environment \
    --farm-id FARM_ID \
    --queue-id QUEUE_ID \
    --priority 1 \
    --template-type YAML \
    --template file://p4_credentials.yaml
   ```

### Windows-Registrierung (nur CMF)
<a name="unreal-engine-p4-windows-registry"></a>

**Wichtig**  
Diese Lösung ist nur für CMF geeignet, wo Sie Worker-Hosts direkt konfigurieren können. Verwenden Sie für SMF-Bereitstellungen Secrets Manager.

Die Windows-Registrierung bietet lokalen Speicher für Anmeldeinformationen auf Arbeitscomputern. Diese Methode verwendet das standardmäßige Perforce-Prioritätssystem, in dem Anmeldeinformationen gespeichert werden:
+ `HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment`(systemweite Einstellungen).
+ `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment`(benutzerspezifische Einstellungen).

Dieser Ansatz ist nur für CMF-Bereitstellungen geeignet, bei denen Sie direkten Zugriff auf die Konfiguration von Arbeitscomputern haben.

### Pre-configured Admin-Benutzer (nur CMF)
<a name="unreal-engine-p4-admin-user"></a>

**Wichtig**  
Diese Lösung ist nur für CMF geeignet, wo Sie Worker-Hosts direkt konfigurieren können. Verwenden Sie für SMF-Bereitstellungen Secrets Manager.

Erstellen Sie einen dedizierten P4-Benutzer für Renderknoten mit einer nicht ablaufenden Verbindung, damit Sie keine geheimen Daten wie Benutzernamen und Passwörter weitergeben müssen. In diesem Fall kann ein einziger dedizierter P4-Benutzer verwendet werden, um eine Verbindung zu allen P4-Servern herzustellen, einschließlich der Commit- (Master-) und Edge-Server, auf die das Projektdepot zugegriffen werden kann.

Daher müssen Sie den Port, zu dem Sie eine Verbindung herstellen möchten, nur weitergeben, wenn die Standardeinstellung nicht für Worker konfiguriert ist. Dies kann erreicht werden, indem der Auftragsumgebung oder Warteschlangenumgebung, ähnlich den oben dokumentierten Schritten, Folgendes hinzugefügt wird:

```
name: P4Sync
variables:
  P4PORT: ssl:my-perforce.com:1666
```

## Einen Perforce-Renderjob erstellen
<a name="unreal-engine-perforce-render-job"></a>

In diesem Abschnitt erfahren Sie, wie Sie Perforce-integrated Renderjob-Datenbestände konfigurieren, sodass Sie Perforce-integrated Renderjobs von Unreal Engine aus an Deadline Cloud senden können.

### Voraussetzungen
<a name="unreal-engine-p4-prerequisites"></a>

Bevor Sie einen Movie Render Queue (MRQ) -Job von Unreal Engine in ein Perforce-Repository einreichen:

Einrichtung des **Unreal-Projekts**:
+ Das Projekt muss sich im Perforce-Workspace befinden.
+ Stellen Sie sicher, dass die Perforce-Verbindung hergestellt wurde und Sie angemeldet sind.

**Frist für die Einrichtung der Cloud**:
+ Schließen Sie [Installation des Absenders](#unreal-engine-installation) ab.
+ [Verwaltung von Anmeldedaten mit Perforce](#unreal-engine-perforce-credentials)Für Mitarbeiter konfigurieren.

**Perforce-Anforderungen**:
+ Gültiger Perforce-Workspace mit Projektdateien.
+ Entsprechende Perforce-Berechtigungen für Synchronisierungsvorgänge.

### Architektur von Perforce-Renderjobs
<a name="unreal-engine-p4-architecture"></a>

P4-Renderjobs erweitern den Standard-Renderjob um Perforce-Synchronisationsfunktionen:

```
Deadline Cloud Perforce render job
├── Environments
│   ├── Apply Perforce Credentials from Secrets Manager
│   ├── Sync Perforce Environment (CMF/SMF)
│   │   └── Initializes Perforce workspace and syncs repository on workers
│   └── Launch UE Environment
│       └── Starts Unreal Engine with Perforce workspace paths
└── Steps
    └── Render Step
        └── Executes Movie Render Queue process
```

**Hauptunterschiede zu Standardaufträgen**:
+ **Verwaltung von Anmeldeinformationen**: Sichere Perforce-Anmeldeinformationsanwendung von Secrets Manager.
+ **Repository-Synchronisierung**: Zusätzliche Perforce-Synchronisierungsumgebung für die Workspace-Verwaltung.
+ **Pfadauflösung**: Umgebungsvariablen verweisen auf Perforce-Workspace-Pfade.
+ **Erfassung von Abhängigkeiten**: Automatische Erfassung und Synchronisation von Perforce-tracked Assets.

### Perforce-Renderjob-Komponenten einrichten
<a name="unreal-engine-p4-setup-components"></a>

Gehen Sie wie folgt vor, um die erforderlichen Datenbestände für Perforce-integrated Renderjobs zu erstellen.

#### 1. Erstellen Sie das Datenobjekt „Perforce-Anmeldeinformationen anwenden“
<a name="unreal-engine-p4-apply-credentials"></a>

Richten Sie eine OpenJD-Umgebung ein, um Perforce-Anmeldeinformationen aus Secrets Manager abzurufen und sie auf die Perforce-Verbindung anzuwenden.

**Anmerkung**  
Umgebungsvariablen erscheinen in Logs mit dem `openjd_env` Präfix, aber sensible Daten (Port, Benutzer, Passwort) werden aus Sicherheitsgründen automatisch geschwärzt.

**Schritte zur Konfiguration:**

1. Erstellen Sie ein neues **Deadline Cloud Perforce Environment-Datenobjekt**.  
![Das Dialogfeld „Klasse für Daten-Asset-Instanz auswählen“ wurde nach „Frist“ gefiltert und Deadline Cloud Perforce-Umgebung ausgewählt.](http://docs.aws.amazon.com/de_de/deadline-cloud/latest/userguide/images/unreal-engine-p4-environment.png)

1. Benennen Sie das Datenobjekt beschreibend (z. B. "ApplyP4SecretEnv„).

1. Wählen Sie die `p4_apply_secrets_environment.yml` Vorlage aus`Content/Python/openjd_templates/p4/`.

1. Konfigurieren Sie die geheime Referenz:
   + **Geben Sie den geheimen Namen Ihrer Perforce-Anmeldeinformationen in AWS\_SECRET\_P 4INFO ein.**
   + Dieser sollte mit dem geheimen Namen übereinstimmen, der in erstellt wurde. [Verwaltung von Anmeldedaten mit Perforce](#unreal-engine-perforce-credentials)  
![Wenden Sie die Eigenschaften der Perforce-Anmeldeinformationen für die Umgebung des Datenbestands an: Name P4ApplySecrets, Pfad zur Vorlage p4_apply_secrets_environment.yml und Einstellung der 4INFO-Variablen auf. AWS_SECRET_P P4AccessSecretName](http://docs.aws.amazon.com/de_de/deadline-cloud/latest/userguide/images/unreal-engine-p4-apply-secrets-environment.png)

#### 2. Datenbestand für die Perforce-Sync-Umgebung erstellen
<a name="unreal-engine-p4-sync-env"></a>

Richten Sie eine OpenJD-Umgebung ein, um einen Perforce-Workspace zu erstellen, Dateien vom Perforce-Server zu synchronisieren und den Workspace nach dem Rendern zu bereinigen.

**Schritte zur Konfiguration:**

1. Erstellen Sie ein neues **Deadline Cloud Perforce Environment-Datenobjekt**.

1. Benennen Sie das Datenobjekt anhand Ihres Flottentyps:
   + **P4SyncSMFEnv**für servicemanaged Fleet (SMF).
   + **P4SyncCMFEnv**für eine vom Kunden verwaltete Flotte (CMF).

1. Wählen Sie die entsprechende Vorlage aus: `Content/Python/openjd_templates/p4/`
   + **SMF**:`p4_sync_smf_environment.yml`.
   + **CMF**:. `p4_sync_cmf_environment.yml`

1. Konfigurieren Sie die geheime Referenz:
   + **Geben Sie den geheimen Namen Ihrer Perforce-Anmeldeinformationen in AWS\_SECRET\_P 4INFO ein.**
   + Muss mit dem Geheimnis aus Schritt 1 übereinstimmen.  
![Eigenschaften von Umgebungsdaten mit Perforce synchronisieren: Name P4SyncSmf, Pfad zur Vorlage p4_sync_smf_environment.yml und Einstellung der 4INFO-Variablen auf. AWS_SECRET_P P4AccessSecretName](http://docs.aws.amazon.com/de_de/deadline-cloud/latest/userguide/images/unreal-engine-p4-sync-smf-environment.png)

#### 3. Perforce Launch UE-Umgebungsdatenbestand erstellen
<a name="unreal-engine-p4-launch-env"></a>

Richten Sie eine OpenJD-Umgebung für den Start von Unreal Engine mit Perforce-Integration ein. Dies verweist automatisch auf den Perforce-Workspace, der von der Sync-Umgebung erstellt wurde.

**Schritte zur Konfiguration:**

1. Erstellen Sie ein neues Datenobjekt für die **Deadline Cloud Environment-Umgebung**.

1. Benennen Sie das Datenobjekt beschreibend (z. B. "P4LaunchUEEnv„).

1. Wählen Sie die `p4_launch_ue_environment.yml` Vorlage aus`Content/Python/openjd_templates/p4/`.

1. Umgebungseinstellungen konfigurieren:
   + Setzen Sie **REMOTE\_EXECUTION** auf. `True`
   + Diese Einstellung aktiviert Remote-Rendering-Funktionen.  
![Starten Sie Unreal Engine mit den Eigenschaften der Perforce-Umgebungsdaten: Name LaunchUnrealEditorWithP4, Pfad zur Vorlage p4_launch_ue_environment.yml und der Variablen REMOTE_EXECUTION, die auf True gesetzt ist.](http://docs.aws.amazon.com/de_de/deadline-cloud/latest/userguide/images/unreal-engine-p4-launch-UE-environment.png)

#### 4. Erstellen Sie ein Perforce-Render-Step-Datenobjekt
<a name="unreal-engine-p4-render-step"></a>

Richten Sie einen OpenJD-Renderschritt für die Ausführung des Rendervorgangs ein.

**Schritte zur Konfiguration:**

1. Erstellen Sie ein neues **Deadline Cloud Render Step-Datenobjekt**.  
![Das Dialogfeld „Klasse für Daten-Asset-Instanz auswählen“ wurde nach „Deadline Cloud“ gefiltert, wobei Deadline Cloud Render Step ausgewählt ist.](http://docs.aws.amazon.com/de_de/deadline-cloud/latest/userguide/images/unreal-engine-p4-render-step-data-asset.png)

1. Benennen Sie das Datenobjekt beschreibend (z. B. "P4RenderStep„).

1. Wählen Sie die `p4_render_step.yml` Vorlage aus`Content/Python/openjd_templates/p4/`.

#### 5. Datenbestand für Perforce-Renderjobs erstellen
<a name="unreal-engine-p4-render-job"></a>

Richten Sie einen OpenJD-Renderjob ein, der den gesamten Rendering-Workflow orchestriert.

Schritte zur **Konfiguration**:

1. Erstellen Sie ein neues **Deadline Cloud Render Job-Datenobjekt**.  
![Das Dialogfeld „Klasse für Daten-Asset-Instanz auswählen“ wurde auf „Deadline Cloud“ gefiltert, wobei Deadline Cloud Render Job ausgewählt ist.](http://docs.aws.amazon.com/de_de/deadline-cloud/latest/userguide/images/unreal-engine-p4-render-job-data-asset.png)

1. Benennen Sie das Datenobjekt beschreibend (z. B. "P4RenderJob„).

1. Wählen Sie die `p4_render_job.yml` Vorlage aus`Content/Python/openjd_templates/p4/`.

1. **Überprüfen Sie die Parameterdefinitionen**: Die Vorlage enthält diese Parameter mit ihrem Standardverhalten:    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/deadline-cloud/latest/userguide/epic-unreal-engine.html)

   **Richtlinien für die Konfiguration von Parametern**:
   + **Auto-populated Parameter**: Lassen Sie diese Felder leer — sie werden bei der Einreichung des Jobs automatisch gefüllt.
   + **Manuelle Parameter**: Überprüfen Sie die Standardeinstellungen und passen Sie sie an Ihre spezifischen Anforderungen an.
   + **ChunkSize**: Beginnen Sie mit 1 und erhöhen Sie die Zahl, um eine bessere Leistung bei einfachen Aufnahmen zu erzielen.  
![Eigenschaften der Parameterdefinition für das Datenobjekt, die Liste,,,,,,,, ProjectRelativePath,, ProjectName,, PerforceChangelistNumber, PerforceWorkspaceSpecificationTemplate, Executable MrqJobDependenciesDescriptor ExtraCmdArgs, ExtraCmdArgsFile CondaPackages CondaChannels, und ChunkSize Felder im Perforce-Renderjob.](http://docs.aws.amazon.com/de_de/deadline-cloud/latest/userguide/images/unreal-engine-p4-job-parameter-definition.png)

1. **Umgebungen konfigurieren** (in genau dieser Reihenfolge):    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/deadline-cloud/latest/userguide/epic-unreal-engine.html)
**Wichtig**  
Die Reihenfolge der Umgebung ist für die korrekte Auflösung von Abhängigkeiten und den Fluss der Anmeldeinformationen von entscheidender Bedeutung.

1. **Renderschritt hinzufügen**: Fügen Sie "P4RenderStep" zum Abschnitt „Schritte“ hinzu.  
![Rendern Sie das Array Environments für Auftragsdaten, in dem ApplyP4SecretsEnv P4SyncSMFEnv, und P4LaunchUEEnv in der Reihenfolge angezeigt werden, wobei unter „Schritte“ die Einträge P4RenderStep hinzugefügt wurden.](http://docs.aws.amazon.com/de_de/deadline-cloud/latest/userguide/images/unreal-engine-p4-add-environments-and-steps.png)

### Best Practices
<a name="unreal-engine-p4-best-practices"></a>

#### Pre-submission Checkliste
<a name="unreal-engine-p4-checklist"></a>
+ **Anmeldeinformationen**: Perforce-Anmeldeinformationen wurden ordnungsgemäß konfiguriert (siehe[Verwaltung von Anmeldedaten mit Perforce](#unreal-engine-perforce-credentials)).
+ **Workspace**: Die Spezifikation umfasst alle erforderlichen View-Zuordnungen.
+ **Testen: Testen** Sie mit einer kleinen Renderaufgabe, bevor Sie große Aufträge einreichen.
+ **Abhängigkeiten**: Stellen Sie sicher, dass alle Projektabhängigkeiten in Perforce verfügbar und zugänglich sind.
+ **Berechtigungen**: Bestätigen Sie, dass Mitarbeiterrollen Zugriff auf Secrets Manager haben.

#### Leistungsoptimierung
<a name="unreal-engine-p4-perf-optimization"></a>

**Konfiguration der Blockgröße:**


| Chunk-Größe | Anwendungsfall | Auswirkung auf die Leistung | 
| --- | --- | --- | 
| 1-2 Schüsse | Komplexe Aufnahmen, detaillierte Überprüfung erforderlich | Niedrigerer Durchsatz, höhere Qualitätskontrolle | 
| 4-8 Schüsse | Ausgewogenes Arbeitspensum, typische Projekte | Optimales Gleichgewicht zwischen Geschwindigkeit und Verwaltbarkeit | 
| Mehr als 10 Schüsse | Einfache Aufnahmen, Stapelverarbeitung | Maximaler Durchsatz, minimaler Overhead | 

Ziehen Sie die folgenden zusätzlichen Optimierungen in Betracht:
+ **Abhängigkeiten**: Minimiere unnötige Asset-Abhängigkeiten, um die Synchronisierungszeit zu reduzieren.
+ **Workspace-Ansichten**: Optimieren Sie die Perforce-Workspace-Ansichten so, dass nur die benötigten Dateien synchronisiert werden.

#### Überwachung und Debugging
<a name="unreal-engine-p4-monitoring"></a>
+ **Jobprotokolle**: Überwachen Sie den Perforce-Synchronisierungsprozess in den Jobausführungsprotokollen.
+ **Workspace-Status**: Überprüfen Sie die Erstellung und den Abschluss der Synchronisierung des Workspace.
+ **Erfassung von Abhängigkeiten**: Stellen Sie sicher, dass alle erforderlichen Ressourcen erfasst wurden.
+ **Leistungskennzahlen**: Verfolgen Sie die Synchronisierungszeiten und die Renderleistung.

### Fehlerbehebung
<a name="unreal-engine-p4-troubleshooting"></a>

#### Häufige Probleme und Lösungen
<a name="unreal-engine-p4-common-issues"></a>


| Problem | Symptome | Lösung | 
| --- | --- | --- | 
| Fehler bei der P4-Verbindung | Authentifizierungsfehler, Timeout | Überprüfen Sie die Perforce-Anmeldeinformationen; überprüfen Sie die Netzwerkkonnektivität; überprüfen Sie die Erreichbarkeit des Perforce-Servers | 
| Fehler bei der Workspace-Synchronisierung | Synchronisierungsfehler, Zugriff verweigert | Überprüfen Sie die Perforce-Benutzerberechtigungen, überprüfen Sie die Workspace-Spezifikation und stellen Sie sicher, dass die Änderungsliste existiert | 
| Fehlende Abhängigkeiten | Renderfehler, fehlende Ressourcen | ÜberprüfungMrqJobDependenciesDescriptor; Überprüfung der Sammlung von Soft-References; Verifizierung aller Ressourcen in Perforce | 
| Probleme mit der Pfadauflösung | Fehler „Datei nicht gefunden“ | Überprüfen Sie die P4\_CLIENT\_DIRECTORY Variable; überprüfen Sie die Reihenfolge der Umgebung; validieren Sie die Workspace-Stammpfade | 

#### Schritte zum Debuggen
<a name="unreal-engine-p4-debug-steps"></a>

1. **Job-Logs überprüfen**: Ausführliche Fehlermeldungen finden Sie in den Logs der Perforce-Sync-Umgebung.

1. **Workspace validieren**: Stellen Sie sicher, dass die Perforce-Workspace-Spezifikation korrekt ist.

1. **Lokal testen**: Stellen Sie sicher, dass der Perforce-Betrieb vom Computer des Absenders aus funktioniert.

1. **Berechtigungen überprüfen**: Stellen Sie sicher, dass Workerrollen über geheimen Zugriff verfügen (wenn Sie Secrets Manager verwenden).

## Benutzerdefinierte Hostanforderungen
<a name="unreal-engine-host-requirements"></a>

In diesem Abschnitt wird beschrieben, wie Sie benutzerdefinierte Hostanforderungen für das Deadline Cloud-Rendering in Unreal Engine erstellen und verwenden.

### -Übersicht
<a name="unreal-engine-host-overview"></a>

Die Hostanforderungen definieren, welche Flotte für die Ausführung eines bestimmten Rendering-Schritts in Frage kommt. Sie werden in einem `UDeadlineCloudHostRequirements` Asset gespeichert, auf das dann von einem `DeadlineCloudRenderStep` Asset verwiesen wird.


| Art der Anforderung | Speicherort der Konfiguration | Anwendungsfall | 
| --- | --- | --- | 
| Grundsystemanforderungen | CPU-/RAM-/GPU-Felder | Beschränken Sie das Rendern auf Maschinen mit bestimmter Hardware | 
| Benutzerdefinierte Mengenanforderungen | Name \+ min/max Werte | Numerische Ressourcenebenen (Lizenzen, Token, Kontingente) erforderlich | 
| Anforderungen an benutzerdefinierte Attribute | Attribut \+ Werteliste | Für die Ausführung des Schritts sind benutzerdefinierte Attribute für Flotten erforderlich | 

**Anmerkung**  
Wenn Sie eine Anforderung mithilfe des Augensymbols ausblenden, wird sie nur in der MRQ Submit-Benutzeroberfläche ausgeblendet. Die Anforderung gilt weiterhin, wenn der Job eingereicht wird.

**Wichtig**  
Die `Attribute` Werte `Name` und, die für benutzerdefinierte Mengenanforderungen und benutzerdefinierte Attributanforderungen verwendet werden, müssen genau mit den gültigen Kennungen übereinstimmen, die in der offiziellen Open Job Description Dokumentation: [Open Job Specifications](https://github.com/OpenJobDescription/openjd-specifications/wiki/2023-09-Template-Schemas#33-hostrequirements) definiert sind.

### Schritt 1: Erstellen Sie das Asset mit den Hostanforderungen
<a name="unreal-engine-host-step1"></a>

1. Öffnen Sie den Inhaltsbrowser in Unreal Engine.

1. Erstellen Sie ein neues Asset: **Hinzufügen** → **Verschiedenes** → **Datenobjekt** → **DeadlineCloudHostRequirements**.

1. Benennen Sie das Asset, zum Beispiel`MyHostRequirements`.

### Schritt 2: Laden Sie die Standard-YAML-Vorlage
<a name="unreal-engine-host-step2"></a>

1. Suchen Sie im Bereich mit den Asset-Details das Feld **Pfad zur Vorlage**.

1. Wählen Sie die Standardvorlage aus:`Plugins/UnrealDeadlineCloudService/Content/Python/openjd_templates/host_requirements.yml`.

Dadurch werden grundlegende Anforderungen wie CPU, Arbeitsspeicher, GPU, Betriebssystem und Architektur geladen.

**Anmerkung**  
Basisanforderungen können nicht entfernt werden; nur ihre Werte können geändert werden.

### Schritt 3: Konfigurieren Sie die grundlegenden (System-) Anforderungen
<a name="unreal-engine-host-step3"></a>


| Einstellung | Beispiel | 
| --- | --- | 
| Betriebssystem | windows | 
| CPU-Architektur | x86\_64 | 
| vCPUs (min.) | 16 | 
| GPUs (min.) | 1 | 

Wenn Max = 0 ist, gibt es keine Obergrenze für diese Anforderung.

### Schritt 4: Fügen Sie benutzerdefinierte Betragsanforderungen hinzu
<a name="unreal-engine-host-step4"></a>

Wird verwendet, wenn die Anforderung numerisch ist (z. B. Anzahl der Lizenzen, Parallelitätslimits).

1. Suchen Sie den Abschnitt **Anforderungen an benutzerdefinierte Beträge**.

1. Fügen Sie einen neuen Eintrag hinzu und geben Sie einen Namen ein, zum Beispiel:`amount.custom.license`.

1. Stellen Sie die Min- und Max-Werte ein:
   + Min.: 1.
   + Max: 0 (0 bedeutet unbegrenzt).

### Schritt 5: Anforderungen für benutzerdefinierte Attribute hinzufügen
<a name="unreal-engine-host-step5"></a>

Wird verwendet, um Mitarbeiter anhand von Tags und Labels zu filtern.

1. Suchen Sie den Abschnitt **Anforderungen an benutzerdefinierte Attribute**.

1. Fügen Sie einen neuen Attributnamen hinzu, zum Beispiel:`attr.custom.gpu.vendor`.

1. Wählen Sie die passende Regel aus:
   + **AllOf**- Alle Werte müssen übereinstimmen.
   + **AnyOf**- mindestens einer muss übereinstimmen.

1. Geben Sie durch Leerzeichen getrennte Attributwerte ein, zum Beispiel:`nvidia amd`.

### Schritt 6: Sichtbarkeit in MRQ (optional)
<a name="unreal-engine-host-step6"></a>

Jeder Anforderungseintrag hat ein Augensymbol.


| Auge | Behavior | 
| --- | --- | 
| Visible (Sichtbar) | Die Anforderung wird in der Benutzeroberfläche von MRQ Submit angezeigt | 
| Hidden | Die Anforderung ist ausgeblendet, wird aber dennoch beim Absenden des Jobs berücksichtigt | 

Diese Einstellung ist nützlich, um die Benutzeroberfläche für Künstler zu vereinfachen und gleichzeitig technische Einschränkungen zu wahren.

### Schritt 7: Ordnen Sie die Anforderungen einem Renderschritt zu
<a name="unreal-engine-host-step7"></a>

1. Öffnen Sie das entsprechende `DeadlineCloudRenderStep` Asset.

1. Suchen Sie das Feld **Hostanforderungen**.

1. Weisen Sie Ihr erstelltes Asset zu (z. B.`MyHostRequirements`).

Alle MRQ-Einreichungen, die diesen Schritt verwenden, setzen jetzt Ihre Hostauswahllogik durch.

### Zusammenfassung
<a name="unreal-engine-host-summary"></a>

Mithilfe des Assets für Hostanforderungen können Sie:
+ Steuern Sie, welche Arbeitscomputer Ihre Renderjobs ausführen.
+ Geben Sie die Mindestressourcen an.
+ Richten Sie sich mithilfe des Attributabgleichs auf bestimmte Workerpools ab.
+ Vereinfachen Sie die Benutzeroberfläche und behalten Sie gleichzeitig die technischen Regeln bei.
+ Verwenden Sie Einstellungen in mehreren MRQ-Schritten wieder.

Dieses Setup verbessert die Konsistenz der Auftragsweiterleitung und stellt sicher, dass das Rendern auf der richtigen Hardware erfolgt.

## Erweiterte -Konfigurationen
<a name="unreal-engine-advanced-configurations"></a>

### Service-managed Flotten im Vergleich zu kundenverwalteten Flotten
<a name="unreal-engine-fleet-types"></a>

#### Service-managed Flotten (SMF)
<a name="unreal-engine-smf"></a>

Auf vom Service verwalteten Flotten sind die Unreal Engine und der Adapter automatisch über den `deadline-cloud` Conda-Kanal mit der Standard-Warteschlangenumgebung verfügbar. Dieses Setup bietet die einfachste Benutzererfahrung.

#### Customer-managed Flotten (CMF)
<a name="unreal-engine-cmf"></a>

Bei vom Kunden verwalteten Flotten müssen Unreal Engine und der Adapter manuell auf Worker-Hosts installiert werden. Dieses Setup bietet mehr Kontrolle und unterstützt zusätzliche Funktionen wie die Perforce-Integration. Detaillierte Anweisungen finden Sie unter [Einrichtung eines vom Kunden verwalteten Flottenmitarbeiters (CMF)](#unreal-engine-cmf-worker-setup).

## Rendering-Funktionen von Unreal Engine
<a name="unreal-engine-rendering-features"></a>

Das Rendering-System von Unreal Engine bietet umfassende Unterstützung für:


| Feature | Description | Hinweise | 
| --- | --- | --- | 
| Warteschlange zum Rendern von Filmen | High-quality Offline-Rendern | Integration mit der Einreichung von Jobs | 
| Sequenzer | Timeline-based Animationssystem | Automatische Erkennung und Verarbeitung von Schüssen | 
| Projekt-Plugins | Unterstützung für benutzerdefinierte Plugins | Automatische Erkennung und Aufnahme | 
| Abhängigkeiten von Vermögenswerten | Verwaltung von Inhaltsdateien | Umfassende Nachverfolgung von Vermögenswerten | 
| Klebriges Rendern | Persistenz der Anwendung zwischen den Aufnahmen | Verbesserte Leistung für Multi-Shot-Sequenzen | 

Alle Renderfunktionen werden automatisch vom integrierten Absender der Unreal Engine erkannt und konfiguriert. Der Adapter sorgt für die korrekte Handhabung von Abhängigkeiten und unterstützt effizientes Multi-Shot-Rendern, ohne dass Unreal Engine neu gestartet werden muss.

## Open-Source-Ressourcen
<a name="unreal-engine-open-source"></a>

Der Einreicher und der Adapter sind Open Source und verfügbar unter: GitHub
+ [Deadline Cloud für Unreal Engine](https://github.com/aws-deadline/deadline-cloud-for-unreal-engine)