Unreal Engine Cheat Sheet: Gameplay Framework

Unreal Engine Gameplay Framework Cheat Sheet

Think of Unreal Engine's Gameplay Framework like a big box of LEGO® bricks specifically for making games. It gives you pre-built pieces (like Actors, Pawns, Controllers) for common game features and rules. You just pick the bricks you need and snap them together to create your unique gameplay!

Technically, the Gameplay Framework is a set of core C++ classes (like `AActor`, `APawn`, `AController`, `AGameModeBase`) that provide the foundation for gameplay. It lets you build features in reusable chunks using Actor Components (`UActorComponent`) and clearly defines how game information is shared in multiplayer (replication), how players control characters, the game's rules, and how game state is tracked.

World & Game Instance

UGameInstance

Manages persistent data across levels (e.g., save systems). Persists from engine launch until shutdown. Manages global data and systems that exist across level transitions (e.g., save systems, menu data). Not replicated in multiplayer. Manages GameInstanceSubsystems.

UGameInstanceSubsystem

Global systems (e.g., matchmaking) created and managed by GameInstance. Created and destroyed with the GameInstance. Used to manage global functionality like online services, lobbies, friends, leaderboards, etc.

UWorld

Represents the current level; manages actors, tick, and systems. Top-level object representing the current map. Contains the persistent level and manages all active Actors, GameMode, GameState, Controllers, and Pawns.

Actors & Derivatives

AActor

Base for all objects placed in a level (replicable, transformable). Any object that can be placed in a level (e.g., camera, mesh, spawn point). Supports transformations and can be spawned/destroyed via gameplay. Hosts Actor Components and supports replication.

APawn

Controllable object in the world (possessed by Controller). Base class for any controllable Actor. Represents the player's physical presence in the world.

ADefaultPawn

Simple pawn with default movement.

ASpectatorPawn

Pawn for free-fly viewing or spectating.

ACharacter

Humanoid pawn with movement/animation. Supports walking, running, jumping, etc. Includes skeletal mesh, capsule, movement components.

AController

Non-physical class that controls Pawn behavior. Non-physical Actor that possesses and controls a Pawn.

APlayerController

Handles input and camera for human players. Handles player input, UI, and camera.

AAIController

Drives AI behavior via logic/behavior trees. Uses AI systems (Behavior Trees, State Trees, etc.) to control Pawns.

AGameModeBase

Server-only; defines rules and spawns key framework actors. Server-only manager that controls game rules and structure. Instantiated on level load. Spawns GameState, PlayerStates, Controllers, and Pawns. Not persistent between levels. (AGameMode extends this with match state logic).

AGameStateBase

Replicates shared match data (scores, players) to clients. Non-physical Actor. Replicates data relevant to all players (e.g., team scores, objectives, player list) across server and clients. (AGameState extends this).

APlayerState

Tracks individual player data (health, inventory, etc.). Non-physical Actor. Replicates per-player data (e.g., health, ammo, inventory). Created when a player joins or loads into the level.

AHUD

Draws UI overlays (health bars, scores) on screen using Canvas drawing. Often superseded by UMG for complex UI. Displays UI elements on a per-player basis. Each human-controlled player gets their own HUD instance.

ACameraActor

Defines the camera's position and orientation in world. Represents a viewpoint. Often used for fixed cameras or cinematic shots. Player viewpoint usually managed by PlayerController/CameraManager.

Actor Components

UActorComponent

Base for reusable logic attached to actors. Building blocks of Actors. Control how Actors move, render, and behave. Hosted by Actors to provide modular functionality. Does not have a transform.

USceneComponent

Adds transform (location, rotation, scale). Can be attached to other Scene Components to form hierarchies. Inherits from UActorComponent.

UAudioComponent

Plays 2D/3D sounds attached to an Actor. Inherits from USceneComponent.

UParticleSystemComponent

Handles spawning and managing particle effects (Cascade/Niagara). Inherits from USceneComponent.

UPrimitiveComponent

Base for components with renderable or collidable geometry (meshes, shapes). Inherits from USceneComponent.

UCameraComponent

Defines camera properties (FOV, aspect ratio) and provides a viewpoint. Typically attached to a Pawn or CameraActor. Inherits from USceneComponent.

USpringArmComponent

Creates a collision-aware boom arm, often used to attach cameras smoothly behind a character. Inherits from USceneComponent.

USkeletalMeshComponent

Renders animated (skinned) meshes with bone hierarchies. Used for characters, creatures. Inherits from UPrimitiveComponent (specifically USkinnedMeshComponent).

UStaticMeshComponent

Renders non-animated 3D models (props, environment pieces). Inherits from UPrimitiveComponent (specifically UMeshComponent).

Static Utilities

UGameplayStatics

Collection of static utility functions for common gameplay tasks: spawning actors/effects, applying damage, playing sounds, getting player controllers/pawns, managing pause state, etc. Accessible globally.

UKismetSystemLibrary

Another static utility library providing access to engine/system level functions like console commands, timers, platform checks, quitting the game, etc.

UKismetMathLibrary

Provides a wide range of static math functions (vector math, rotations, interpolation, random numbers, etc.) useful in gameplay logic.

User Interface

User Interface (UI)

Encompasses menus, HUDs, and interactive elements. Primarily built using Unreal Motion Graphics (UMG) via User Widgets (`UUserWidget`), which are displayed using Player Controllers or added to the viewport. AHUD provides lower-level drawing capabilities.

UUserWidget

The base class for UI elements created with the UMG visual designer. Represents a reusable piece of UI (like a health bar, inventory screen, main menu). Managed and displayed via Player Controller.

UWidgetComponent

An Actor Component that renders a UUserWidget in 3D world space, attached to an Actor (e.g., interaction prompts above objects, floating nameplates). Inherits from UPrimitiveComponent.

Get all Unity Hacks in your email