Find a useful answer
Search the handbook.
Guides, principles, and focused Unreal references—in one place.
Try:
422 results across the library
Keep a project within reach
Protect the experience by making deliberate choices about the work around it. You are committing to production or deciding whether another feature belongs in the plan. Cutting is not the only lever: a justified change to budget or schedule …
Guided learningLearn from a playtest
Turn player behavior into a useful next experiment. You have something playable and a question about how people experience it. Observation shows what happened, but not always why. Ask about motivations and feelings as well. A small or frien…
Guided learningLevel design: from layout to playable blockout
Test a level layout with playable blockouts, movement metrics, and route choices before committing to detail. You are building a first level or revising one that looks convincing but feels wrong to play. Rough geometry cannot answer every v…
Guided learningTurn an idea into a testable prototype
Choose the question worth answering before you build the game around it. You have a game or feature idea, but its central assumption is still unproven. The goal need not be fun: it may be tension, mood, meaning, or technical feasibility. Us…
Guided learningA bug you can't reproduce, you can't fix
Reproduction is the heart of fixing bugs: a defect you can reliably trigger you can diagnose and verify fixed; one you can't reproduce you can only guess at. Invest in the things that make bugs reproducible — clear repro steps, determinism …
Testing & Quality Assurance / StatementAbility lifecycle
Configuration checklist - Instancing: non-instanced, instanced per actor, or instanced per execution. - Net execution: local only, local predicted, server initiated, or server only. - Activation trigger: explicit/spec handle, Gameplay Event…
GAS Abilities / Configuration checklistAbility patterns
Instant self ability Example: heal, stance toggle request, short utility action. 1. Try activation. 2. Commit. 3. Make outgoing effect spec with ability level/context. 4. Apply to self or resolved target on authority/predicted supported pat…
GAS Abilities / Instant self abilityAcknowledge input immediately; keep control latency perceptually tight
The game must register and visibly acknowledge the player's input immediately — ideally on the next frame. Keep end-to-end control latency low enough that the player reads response as continuous with intent, because delayed acknowledgment q…
Game Feel & Juice / StatementAction patterns
Constant-speed actor movement Variables: - DistanceCm — float - SpeedCmPerSec — float - Direction — 1.0 or -1.0 - Loop — bool - OrientToSpline — bool Per update: 1. Length = Spline - Get Spline Length. 2. DistanceCm += SpeedCmPerSec Directi…
Splines / Constant-speed actor movementAction selector
| Need | Prefer | Avoid | |---|---|---| | Persistent locomotion/mode | State Machine, Blend Space, Motion Matching | long looping Montage as primary locomotion | | One-shot full-body action | Montage through full-body Slot | state explosion…
Animation MontagesActor placement, references, and lifetime
Classify every load-bearing actor Record five decisions: 1. Spatial lifetime — source-distance loaded or always resident. 2. World state — no Data Layer, Editor Data Layer, or Runtime Data Layer and initial state. 3. Runtime grid — normally…
World Partition / Classify every load-bearing actorAI Perception and EQS
AI Perception setup Place AIPerceptionComponent on the authoritative AI owner, commonly the AIController. Add only required sense configs and select a Dominant Sense when location resolution needs it.
Navigation and AI / AI Perception setupAmplify every meaningful action with layered, redundant, multi-sensory feedback
Wrap every meaningful player action and game event in immediate, layered feedback across multiple senses at once — animation, particles, sound, camera, haptics. A single input should produce a cascade of response ("juice"), so the game feel…
Game Feel & Juice / StatementAnimation is feedback — it communicates state and sells action
Animation is a communication channel, not just decoration. Wind-ups telegraph attacks, hit reactions confirm damage, idle tells convey state, recovery frames signal vulnerability. Animate to inform the player as much as to look good — a rea…
Animation / StatementApply the principles of animation — games are animation too
The classical principles of animation — squash & stretch, anticipation, staging, follow-through and overlapping action, timing, exaggeration, secondary action — apply to games. They are what make motion read as alive and weighty; a game tha…
Animation / StatementArchitect for iteration speed — treat the change-to-feedback loop as first-class
Treat the length of the change-to-feedback loop as a primary architectural concern. Hot-reload, live tuning, data-driven values, fast builds, and good in-editor tools all compound: the faster a creator sees the result of a change, the more …
Programming & Architecture / StatementArchitecture and lifecycle
Ownership chain Use this default chain: text server-authoritative gameplay state - replicated actor/component/property - local player presentation model or Viewmodel - local widget tree widget interaction - semantic local intent - owning Pl…
UMG and CommonUI / Ownership chainArchitecture use cases
Reusable interaction - BPIInteractable: contract such as CanInteract and Interact. - Player interaction component: traces, holds the current target, invokes the interface. - Door/pickup/terminal actors: implement their own response. - UI: s…
Blueprint Architecture / Reusable interactionAsset Manager, Primary Assets, and bundles
Configure discovery Open Project Settings Game Asset Manager and define each Primary Asset Type: 1. Match the actual Primary Asset Type returned by GetPrimaryAssetId. 2. Set the correct base class and whether the entries are Blueprint class…
Data Assets and Tables / Configure discoveryAsset Registry discovery without loading
Use the Asset Registry when a tool or system must enumerate assets by path, class, or stored metadata without materializing every UObject.
Data Assets and Tables