The Unreal Engine Game Framework: From int main() to BeginPlay

What happens when you start up your Unreal Engine game? This video is a guided tour of the Engine’s initialization process: along the way, we’ll glimpse the high-level structure of the Engine (modules, game instances, local players, and viewports) and we’ll see how all the different parts of the Game Framework (game modes, game states, player controllers, and the like) fit together. 00:00 - Introduction: The game loop 01:13 - Unreal’s scary initialization code 02:35 - GuardedMain and FEngineLoop 03:09 - PreInit: loading engine, project, and plugin modules (IModuleInterface, UObject) 05:17 - Init: Creating and starting the Engine (UEngine / UGameEngine) 07:34 - Engine initialization (UGameInstance, UGameViewportClient, ULocalPlayer) 09:24 - LoadMap: Reloading the world from disk (UWorld, ULevel) 11:18 - LoadMap: Bringing the world up for play (AGameModeBase, AGameStateBase, AGameSession) 14:10 - LoadMap: Logging the player into the game (APlayerController, APlayerState, UPlayer / UNetConnection) 15:54 - LoadMap: Restarting the player (APawn, APlayerStart, AController / AAIController) 18:11 - LoadMap: Routing the BeginPlay event (AWorldSettings) 18:43 - Animated callstack summary 21:55 - Base game mode classes (AGameMode, AGameState) 22:36 - Characters and Pawns (ACharacter, UCharacterMovementComponent) 24:02 - Where to specify custom subclasses 25:32 - Delegates and subsystems (UGameInstanceSubsystem, UWorldSubsystem) 26:42 - Conclusion Patreon: Twitter: #UnrealEngine #UE4 #programming
Back to Top