Blueprint Visual Scripting ist Unreal Engine 5s node-basiertes Programmierframework, das Spiellogik, Interaktionen, Animationen und komplexe Systeme ohne eine einzige Zeile C++-Code ermöglicht – als visuelle, zugängliche Alternative für Artist und Designer.
Rubrik: Software & Tools · Unterrubrik: Unreal Engine · Niveau: Einsteiger Synonyme / Auch bekannt als: Blueprints, BP, Visual Scripting, Blueprint-System; Menüpfad: Inhalt → Blueprint-Klasse erstellen; Shortcut: B+Linksklick (Boolean Node), M+Linksklick (Multiply Node)
Was ist Blueprint Visual Scripting?
Blueprint Visual Scripting ist eine visuelle Programmiersprache, die vollständig in Unreal Engine integriert ist. Statt Zeilen von C++-Code zu schreiben, verbindet man grafische Knoten (Nodes), die Aktionen, Bedingungen, Berechnungen und Ereignisse repräsentieren. Das System ist vollständig in die Unreal-Laufzeitumgebung integriert – Blueprints kompilieren in nativen Code und haben im Vergleich zu C++ nur einen minimalen Performance-Unterschied. Für Virtual Production, Architekturvisualisierung und Interaktive-Media-Projekte ist Blueprint das primäre Entwicklungs-Werkzeug.
Erklärung
Blueprint-Typen
Actor Blueprint: Der häufigste Blueprint-Typ. Erstellt eine neue Objektklasse (Actor), die in der Szene platziert werden kann. Enthält:
- Komponenten (Mesh, Kamera, Licht, Audio, Kollision)
- Variablen (Eigenschaften des Actors)
- Funktionen (wiederverwendbare Logik)
- Event Graph (Hauptlogik-Bereich)
Level Blueprint: Ein spezieller Blueprint, der für jedes Level einmalig existiert und Level-spezifische Logik enthält (z. B. Trigger-Events, Level-Sequenzer-Steuerung, Umgebungssteuerung). Im Virtual-Production-Kontext häufig für Kamerasteuerung, Lichtwechsel und Sequenzersteuerung verwendet.
Widget Blueprint: Für die Erstellung von User Interface (HUD, Menüs, Überlagerungen). Basiert auf Unreal Motion Graphics (UMG). Für Virtual Production: Informations-Overlays, Remote-Steuerung-UIs.
Animation Blueprint: Spezialisiert für Skelett-Animations-Logik. Steuert State-Machines, Blend-Trees und Animation-Layer.
Blueprint Interface: Definiert Funktions-Signaturen, die von mehreren Blueprint-Klassen implementiert werden können – wie ein Interface in klassischer Programmierung.
Event Graph
Das Event Graph ist der Hauptarbeitsbereich im Blueprint-Editor. Hier werden Events (Auslöser) mit Actions (Aktionen) verbunden. Die Verbindungen folgen der Execution-Flow-Logik (weiße Execution-Wires) und der Daten-Fluss-Logik (farbige Daten-Wires).
Häufige Events:
- Event BeginPlay: Wird ausgelöst, wenn das Spiel/die Session startet
- Event Tick: Wird jedes Frame ausgelöst (Performance-intensiv, sparsam verwenden)
- Event On Component Begin Overlap: Kollisions-Trigger
- Event On Component Hit: Physik-Kollision
- Custom Event: Benutzerdefinierte Events, die von anderen Blueprints ausgelöst werden können
Nodes und Verbindungen
Execution Nodes (weiße Wires): Bestimmen die Ausführungsreihenfolge. Nur Nodes, die mit einem Execution-Wire verbunden sind, werden ausgeführt.
Data Nodes (farbige Wires): Transportieren Datenwerte zwischen Nodes. Farben zeigen den Datentyp:
- Grün: Boolean (Wahr/Falsch)
- Blau: Integer (Ganzzahl)
- Hellblau: Float (Dezimalzahl)
- Gelb: String (Text)
- Rot: Object Reference (Verweis auf ein Objekt)
- Lila: Struct (komplexe Datenstruktur)
Pure Functions (keine Execution-Wire nötig): Mathematische Berechnungen, Getter-Funktionen, die keinen Zustand ändern.
Variablen
Variablen speichern Werte innerhalb eines Blueprints:
- Private: Nur innerhalb des Blueprints zugänglich
- Public/Instance Editable: Im Level-Editor für jede Instanz individuell einstellbar (z. B. eine Farb-Variable, die im Editor pro Instanz anders gesetzt wird)
- Exposed on Spawn: Beim Spawnen des Actors im Level oder per Blueprint gesetzt
Functions und Macros
Functions: Wiederverwendbare Logik-Blöcke innerhalb eines Blueprints. Können Eingabe- und Ausgabeparameter haben. Werden in anderen Teilen des Blueprints aufgerufen.
Macros: Ähnlich wie Functions, aber können Execution-Wires haben und sind komplexer in der Handhabung. Für interne Blueprint-Logik empfehlen sich Functions; Macros werden seltener eingesetzt.
Blueprint-Kommunikation
Blueprints kommunizieren miteinander über:
- Direct Reference: Ein Blueprint hat eine direkte Referenz auf einen anderen und ruft dessen Funktionen/Variablen auf
- Casting: Unreal prüft zur Laufzeit, ob ein Actor vom Typ XYZ ist, und erlaubt dann den Zugriff auf dessen spezifische Eigenschaften
- Event Dispatcher: Ein Blueprint sendet ein Event (ähnlich wie ein Signal), auf das andere Blueprints reagieren können – Entkopplung zwischen Blueprints
- Blueprint Interface: Mehrere unterschiedliche Blueprint-Klassen implementieren die gleiche Schnittstelle und können per Interface-Aufruf angesprochen werden
Virtual Production: Blueprint-Einsatz
In Virtual Production Setups wird Blueprint für folgende Aufgaben genutzt:
- LED-Wand-Steuerung: Blueprints steuern den nDisplay-Konfigurations-Wechsel (z. B. Tageszeit wechseln, Szene wechseln)
- Remote Control API: Blueprints exponieren Variablen für das Unreal Remote Control Web-Interface – Kameraleute und Lichttechniker steuern Szenenparameter über ein iPad
- Sequenzer-Trigger: Level Blueprint reagiert auf externe Timecode-Signale und startet/stoppt Kamera-Animationssequenzen
- Live Link: Blueprint-Logik verarbeitet eingehende Motion-Capture-Daten und wendet sie auf MetaHuman-Charaktere an
Beispiele
- Einfacher Lichtschalter: Event On Component Begin Overlap → Point Light Toggle Visibility → der Actor schaltet das Licht an, wenn der Spieler einläuft.
- Tür mit Animationen: Blueprint Actor für eine Tür: BeginPlay → Timeline Node animiert die Drehung der Tür per Float Curve → auf Knopfdruck wird die Timeline vorwärts oder rückwärts abgespielt.
- Virtual Production Set-Wechsel: Level Blueprint: Custom Event „Change Scene" → Event Dispatcher empfängt Szenenname → lädt neues Map/Level per Open Level Node.
- MetaHuman-Steuerung: Blueprint verbindet Live Link-Daten (Gesichts-Tracking via iPhone) mit den MetaHuman Face Control Rig-Parametern in Echtzeit auf der LED-Wand.
In der Praxis
Event Tick vermeiden: Event Tick wird jedes Frame ausgelöst und kann die Performance stark belasten. Für wiederkehrende Prüfungen besser Timelines, Set Timer oder Custom Events verwenden.
Blueprint Nativization: Für Performance-kritische Systeme können Blueprints in C++ „nativized" werden – das kompiliert den Blueprint zu nativem C++-Code und eliminiert den Blueprint-Overhead.
Comments und Organisation: Im Blueprint-Editor Kommentar-Boxen (C-Taste) um zusammengehörige Node-Gruppen legen und beschriften. Blueprint-Spaghetti ist schwer wartbar.
Blueprint vs. C++: Blueprint eignet sich für Gameplay-Logik, Interaktionen und Prototypen. C++ ist überlegen bei Performance-kritischen Systemen, Engine-Erweiterungen und komplexen Algorithmen. In der Praxis kombinieren Teams beides.
Vergleich & Abgrenzung
| System | Unreal Blueprints | Unity Visual Scripting | Godot VisualScript |
|---|---|---|---|
| Zielgruppe | Artist + Entwickler | Artist + Entwickler | Artist + Entwickler |
| Performance | Nah an C++ | Langsamer als C# | Moderat |
| Integration | Nativ (tief) | Plugin-basiert | Nativ |
| Virtual Production | Ja (nDisplay, LiveLink) | Begrenzt | Nicht relevant |
| Industrie-Standard | Ja (Film/VFX) | Game-Industrie | Indie/Bildung |
Häufige Fragen (FAQ)
Sind Blueprints langsamer als C++? Blueprints haben durch den Interpretations-Layer einen leichten Overhead gegenüber nativem C++. Für die meisten Gameplay-Logiken und Virtual-Production-Anwendungen ist dieser Unterschied vernachlässigbar. Epic Games gibt an, dass Blueprints etwa 10–30 % langsamer als äquivalentes C++ sind – bei Non-Tick-Logik ist der Unterschied kaum messbar.
Kann man Blueprints und C++ im gleichen Projekt mischen? Ja, und das ist der empfohlene Ansatz in professionellen Projekten. C++ definiert die Basis-Klassen und Performance-kritische Systeme; Blueprints erweitern diese Klassen und implementieren Gameplay-Logik. Blueprints können C++-Funktionen aufrufen und umgekehrt.
Verwandte Einträge
Weiterführend
- Epic Games: Blueprint Visual Scripting Documentation – docs.unrealengine.com (2024)
- Epic Games: Blueprint für Visual-Production-Teams – dev.epicgames.com/community (2024)
- Unreal Online Learning: Blueprints – Essential Concepts – dev.epicgames.com/community/learning (2024)
