Ein langfristiges Engineering-Projekt · ein neuer Standard, von Grund auf entwickelt

UE C++ Academy — kein Nachschlagewerk, sondern eine Ingenieurschule für die Unreal Engine

Jedes Thema erklärt nicht "was man benutzt", sondern "warum es existiert", "welches Problem es löst", "wie es intern funktioniert" und "wann man es nicht tun sollte". Das Ziel ist, dass nach der Lektüre eines Themas keine logische Frage offenbleibt und du lernst, selbst zu Epics architektonischen Entscheidungen zu gelangen, statt sie als Faktenliste auswendig zu lernen.

Wie jedes Thema aufgebaut ist

Ein flexibler Standard: 11 Pflichtabschnitte für jedes Thema + Abschnitte, die automatisch erscheinen, wenn das Thema sie natürlich hervorbringt — ohne künstliche Punkte wie "Auswirkung auf Multiplayer" in einem Artikel über const.
Was ist das?
Eine kurze Orientierung vor dem tiefen Einstieg.
Warum existiert es?
Problem → Ursache, keine Tatsache ohne Kontext.
Welches Problem löst es?
Ein konkretes, reproduzierbares Szenario, in dem der naive Ansatz scheitert.
Wie funktioniert es?
Randbedingungen → architektonische Lösung → Implementierung, mit Beispielen aus dem Engine-Quellcode.
Wann verwenden / nicht verwenden
Grenzen der Anwendbarkeit — ohne sie entsteht Cargo-Cult.
Beispiele
Vollständig funktionierender Code mit zeilenweiser Erklärung — Pseudocode ist verboten.
Typische Fehler
Getrennt für Einsteiger und Mid-Level-Entwickler, mit Erklärung des Fehlermechanismus.
Übung
Aufgaben, die dich zwingen, die Argumentation zu reproduzieren, nicht nur das Beispiel zu kopieren.
FAQ
Fragen, die einem aufmerksamen Leser tatsächlich kommen.
Zusammenfassung
Aussagen, die der Leser in eigenen Worten formulieren können sollte.
+ nach Bedarf
GC, Reflection, Blueprint, Multiplayer, Serialisierung, Performance — wenn das Thema sie natürlich hervorbringt.

Bevor du beginnst

Ein Kompass über den gesamten Kurs — kein einzelnes Thema, sondern eine Denkweise, die sich in jedem weiteren Thema wiederholt.
💡
Zwölf übergreifende "Warums" (UObject, Zeiger, GC, Reflection, Component, Composition, Modules, Plugins, Subsystem, Gameplay Tags, Data Assets, Primary Assets) an einem Ort — lies diese Seite zuerst, und danach wird jedes neue Kursthema als Variante einer vertrauten Argumentationslinie erkannt, statt als neue Faktenmenge.

Referenzartikel

Der Goldstandard für Qualität und Tiefe des gesamten Projekts — es lohnt sich, hier zu beginnen, selbst wenn du bereits erfahrener Entwickler bist.
Engine → Framework → warum UObject → warum Reflection → warum Garbage Collector → warum Makros entstanden → wie sich alles zu einer einzigen Kausalkette verbindet. Nach diesem Artikel werden die restlichen Kursthemen nicht als einzelne Fakten gelesen, sondern als Anwendungen derselben Denkweise.

Roadmap — 9 Level

Neun aufeinanderfolgende Level statt sechzehn getrennter Cluster — jedes weitere Level wird durch das vorherige erklärt, nicht für sich allein. Die einzige Ausnahme ist Level 5: Seine sechs angewandten Systeme sind parallel, nicht sequentiell.
0
Level 0 — Wie Unreal denkt
Warum der Rest des Kurses existiert: wann Epics Dokumentation noch ausreicht, wann es Zeit ist, den Engine-Quellcode zu öffnen, und wie man sich physisch in .h/.cpp-Dateien zurechtfindet, noch bevor man weiß, was ein UObject ist.
1
Level 1 — Objektsystem
Baut auf Level 0 auf — danach wird jedes UCLASS()/UPROPERTY() als konkrete Folge von Reflection, Garbage Collector, Package und CDO erklärt, nicht als magische Syntax.
2
Level 2 — Laufzeitobjekte
Baut auf dem Objektsystem auf — zuerst der Actor und seine Komponenten, und erst wenn die Frage "wie speichere ich die Liste der Komponenten" natürlich aufkommt, die Werkzeuge: TArray/TMap und die zwei sich nicht überschneidenden Zeigerwelten.
3
Level 3 — Gameplay-Framework
Baut auf Level 2 auf — das vollständige Set der Framework-Rollen (Pawn/Controller/Character/GameMode/GameState/GameInstance/Subsystem) und Delegates als Werkzeug, bevor AI/UI/GAS sich stillschweigend darauf verlassen.
4
Level 4 — Daten
Baut auf UObject und Soft References auf — wie man wachsenden Content als Daten beschreibt, nicht als Code, bevor GAS und AI darauf aufgebaut werden.

Level 5 — Systeme

Sechs parallele angewandte Systeme, keine Reihenfolge — die Abfolge zwischen 5.A–5.F ist nicht strikt, jedes baut nur auf den Levels 0–4 auf (und Network Prediction in GAS zusätzlich auf Level 6, Multiplayer).
5A
5.A — Input
Wie die Gameplay-Absicht von der physischen Taste getrennt wird: Input Actions und Mapping Contexts statt fest codierter Action/Axis Mappings.
5B
5.B — UI
Wie man eine Oberfläche mit UMG baut, den Screen-Stack und Fokus mit CommonUI verwaltet und die direkte Verbindung zwischen Widget und Spielobjekten mit MVVM aufbricht.
5C
5.C — Gameplay Ability System
Ein Fähigkeiten-Framework auf Basis von UFUNCTION: Networking, Abbruch, Ressourcenkosten und Effekt-Kompatibilität in einer zusammenhängenden Lösung — bis hin zur Network Prediction an der Schnittstelle zu Multiplayer.
5D
5.D — KI
Wie die Entscheidung "was soll der NPC tun" als Baum wiederverwendbarer Knoten ausgedrückt wird, wie Tasks und Baum Daten über einen gemeinsamen Speicher austauschen, und wie man deklarativ den besten Punkt in der Welt findet.
5E
5.E — World Streaming
Wie eine Spielwelt, die physisch nicht als Ganzes in den Speicher passt, in Teilen geladen wird: manuell, automatisch per Raster und mit logischen Ebenen obendrauf.
5F
5.F — Animation
Wie die Logik der Skelett-Pose in ein eigenes Objekt mit eigenem Graph ausgelagert wird, wie Einmal-Aktionen über kontinuierlichem Blending abgespielt werden, und wie sich die Pose zur Laufzeit an die Geometrie anpasst.
6
Level 6 — Multiplayer
Baut auf UPROPERTY und Owner/GetOwner() auf — Server und Client sehen denselben Actor unterschiedlich, und das reicht aus, um zurückzukehren und Network Prediction aus Level 5 wirklich abzuschließen.
8
Level 8 — Produktion
Ein völlig neues, den Kurs abschließendes Level — wie man nicht nur Code schreibt, sondern bestehenden Code diagnostiziert und repariert, das Frame-Budget einhält, Fortschritt speichert und ein Projekt strukturiert, das mehr als einen Entwickler überlebt.

Nachwort — durchgängige Artikel

Kein neuer Stoff, sondern eine Prüfung, ob du das System als Ganzes siehst: Fünf Artikel verbinden alles bisher getrennt Gelernte zu durchgängigen Geschichten — vom Tastendruck bis zum Frame auf dem Bildschirm, vom Prozessstart bis zum vollständigen Spiellebenszyklus.
Nachwort — Engineering Flows
Baut auf dem gesamten Kurs als Ganzes auf — jeder Artikel verfolgt einen durchgängigen Pfad durch Ereignisse, die in den Levels 0–8 getrennt behandelt wurden, und fügt sie zu einer am Quellcode überprüfbaren Chronologie zusammen.

Alles zusammen anwenden

9 Level isoliert zu durchlaufen reicht, um jede Idee zu verstehen — nicht aber, um zu spüren, wie Dutzende solcher Ideen in einer lebenden Klasse koexistieren. Die zweite, parallele Schiene des Kurses — derselbe Charakter, der mit dem Fortschritt durch die Level wächst.
🎮
Ein kontinuierlich wachsendes Projekt statt sechzehn paralleler Meilensteine — fast jedes Level fügt ein reales, funktionierendes Stück desselben Survival-Spiels hinzu: von einem nackten Actor und Components über Enhanced Input, DataAsset-Items, UMG/MVVM, Multiplayer, GAS-Fähigkeiten und KI-Gegner bis hin zu Speichern und Profiling, mit der zwingenden Bedingung, dass Entscheidungen aus früheren Schritten nicht stillschweigend überschrieben werden, sondern nur durch explizites Refactoring — genau wie in einem echten Projekt.

Tags

#engine #framework #uobject #reflection #garbage-collector #upropety #owner #architecture #actor #component #ufunction #uinterface #blueprint #smart-pointers #soft-reference #multiplayer #rpc #pawn #controller #gamemode #delegates #tarray #tmap #containers #input #gas #attributeset #gameplayeffect #prediction #umg #commonui #mvvm #gameplaytags #dataasset #datatable #assetmanager #behaviortree #blackboard #eqs #levelstreaming #worldpartition #datalayer #animinstance #animmontage #ik #documentation #source-reading #dependencies #cdo #outer #eobjectflags #fname #package #asset-registry #transform #tick #spawnactor #uworld #character #gameinstance #subsystem #relevancy #dormancy #unreal-header-tool #hot-reload #unrealbuildtool #modules #plugins #farchive #cooker #async-loading #threading #game-thread #fmalloc #uelog #visual-logger #gameplay-debugger #draw-debug #unreal-insights #stat-commands #tick-optimization #taskgraph #profiling #savegame #god-class #ustruct #tsubclassof #cast #newobject #memory-layout #world-context #tactoriterator #collision #linetrace #chaos #playercontroller #localplayer #gameplaystatics #primarydataasset #config #developersettings #input-subsystem #slate #widget-lifecycle #commoninput #executioncalculation #modifiermagnitudecalculation #gameplaycue #aiperceptioncomponent #navmesh #smartobjects #pcg #foliage #hlod #nanite #lumen #state-machine #blendspace #linked-anim-layers #motion-warping #root-motion #animinstanceproxy #actor-channel #netdriver #replayout #replicationgraph #fastarrayserializer #client-side-prediction #netmode #seamlesstravel #action-graph #unrealheadertool #target-cs #compilation-pipeline #generated-h #live-coding #packaging #pluginmanager #fmemory #cache-line #tarray-memory #tsparsearray #trace #trace-channel #csv-profiler #ai-debugging #llm #gpu-profiling #frame-analysis #composition #singleton-alternative #observer-pattern #factory-pattern #command-pattern #dependency-injection #engine-lifecycle #streamable-manager #activateability #frame-pipeline #repnotify

Wie das alte Projekt genutzt wurde

Das vorherige Projekt (der Ordner eine Ebene höher) wurde nicht gelöscht und dient weiterhin als Referenzmaterial — eine Quelle für Ideen, fertige Erklärungen und Codebeispiele. Kein Artikel hier ist eine Kopie: Jedes Thema wurde neu analysiert, überprüft, ergänzt und auf den oben beschriebenen gemeinsamen Standard gebracht.