Unreal Engine Unreal Engine 3 — Questions and Answers
Question 1: What is the role of the 'GameMode' class versus the 'GameState' class in Unreal Engine's multiplayer architecture?
- GameMode exists only on the server and defines rules; GameState is replicated to all clients (Correct answer)
- GameMode is replicated to all clients; GameState exists only on the server
- Both exist on all machines but GameMode handles UI while GameState handles logic
- GameMode manages player input; GameState manages NPC behavior
Correct answer: GameMode exists only on the server and defines rules; GameState is replicated to all clients
GameMode runs only on the server and controls game rules/flow, while GameState is replicated so all clients can read shared game state.
Question 2: In Unreal Engine, what does the macro 'GENERATED_BODY()' do inside a class declaration?
- Generates the default constructor and destructor implementations
- Inserts boilerplate code required by the Unreal Header Tool for reflection (Correct answer)
- Automatically creates Blueprint-callable wrappers for all functions
- Declares the class as a UObject subclass in the engine registry
Correct answer: Inserts boilerplate code required by the Unreal Header Tool for reflection
GENERATED_BODY() is replaced by the Unreal Header Tool (UHT) with reflection metadata, serialization hooks, and other engine-required boilerplate.
Question 3: Which technique does Nanite in Unreal Engine 5 use to render highly detailed geometry efficiently?
- Cascaded LOD with manual artist-authored LOD levels
- Virtualized micropolygon geometry with software rasterization for tiny triangles (Correct answer)
- Ray-traced geometry with hardware acceleration
- Deferred decal rendering for surface detail
Correct answer: Virtualized micropolygon geometry with software rasterization for tiny triangles
Nanite uses a virtualized geometry system that streams and rasterizes only the visible micropolygon detail, eliminating manual LOD authoring.
Question 4: In Blueprint scripting, what is the difference between a 'Pure' function and a regular 'Function'?
- Pure functions have no execution pins and cannot modify state; regular functions have execution pins (Correct answer)
- Pure functions execute on the server only; regular functions execute on all machines
- Pure functions are compiled to C++; regular functions stay as Blueprint bytecode
- Pure functions can be overridden in child classes; regular functions cannot
Correct answer: Pure functions have no execution pins and cannot modify state; regular functions have execution pins
Pure functions have no execution pin and are guaranteed to have no side effects, while regular functions have execution pins and can modify state.
Question 5: What is the purpose of 'Soft Object References' (TSoftObjectPtr) in Unreal Engine?
- A reference type that prevents the referenced asset from ever being garbage collected
- A reference type that stores an asset path without forcing the asset to load into memory (Correct answer)
- A reference that only works within the same level as the referencing object
- A thread-safe pointer for use in async tasks
Correct answer: A reference type that stores an asset path without forcing the asset to load into memory
TSoftObjectPtr stores an asset path string and only loads the asset into memory when explicitly requested, enabling asynchronous asset loading.
Question 6: In Unreal Engine, what does 'World Partition' replace and what problem does it solve?
- It replaces Level Streaming and solves the problem of manually managing large open-world level loading (Correct answer)
- It replaces the World Settings and solves lighting bake organization
- It replaces NavMesh and solves pathfinding in large worlds
- It replaces Data Layers and solves multiplayer authority conflicts
Correct answer: It replaces Level Streaming and solves the problem of manually managing large open-world level loading
World Partition replaces traditional Level Streaming with an automatic cell-based system that streams world regions dynamically, enabling massive open worlds.
Question 7: When does Unreal Engine call the 'BeginPlay()' event on an Actor?
- When the Actor is first added to the editor viewport
- When gameplay begins after the world has been fully initialized (Correct answer)
- When the Actor's constructor finishes executing
- When the Actor becomes visible on screen
Correct answer: When gameplay begins after the world has been fully initialized
BeginPlay() is called after all Actors have been initialized and gameplay has officially started, not during editor placement or construction.
What is the role of the 'GameMode' class versus the 'GameState' class in Unreal Engine's multiplayer architecture?