Unreal Engine Unreal Engine Networking & Multiplayer 2 — Questions and Answers
Question 1: What does the UPROPERTY specifier 'Replicated' do in Unreal Engine C++?
- Makes the property visible in the Blueprint editor
- Automatically synchronizes the property value from server to all clients (Correct answer)
- Creates a unique copy of the property per player
- Marks the property as read-only over the network
Correct answer: Automatically synchronizes the property value from server to all clients
The Replicated specifier tells Unreal Engine to propagate that property's value from the server to all relevant clients whenever it changes.
Question 2: Which function must be overridden in a replicated C++ class to register which properties should be replicated?
- BeginPlay
- Tick
- GetLifetimeReplicatedProps (Correct answer)
- PostInitializeComponents
Correct answer: GetLifetimeReplicatedProps
GetLifetimeReplicatedProps must be overridden and filled with DOREPLIFETIME macros to tell Unreal which properties to replicate and under what conditions.
Question 3: What is a Listen Server in Unreal Engine multiplayer?
- A dedicated server that only processes network traffic
- A server that also runs a game client so the host can play (Correct answer)
- A server that monitors other servers for availability
- A client that receives broadcast messages from multiple servers
Correct answer: A server that also runs a game client so the host can play
A Listen Server hosts the game and simultaneously runs a local game client, allowing the hosting player to participate directly in the session.
Question 4: What is the primary purpose of the DOREPLIFETIME macro in Unreal Engine?
- To register a property for replication inside GetLifetimeReplicatedProps (Correct answer)
- To define a replicated function signature
- To set the replication tick rate of an actor
- To enable bReplicates automatically for the entire class
Correct answer: To register a property for replication inside GetLifetimeReplicatedProps
DOREPLIFETIME registers a specific UPROPERTY inside GetLifetimeReplicatedProps so the engine knows to replicate it from server to clients.
Question 5: Which Unreal Engine subsystem provides high-level online services such as sessions, matchmaking, and achievements?
- Net Driver
- Online Subsystem (Correct answer)
- Game Session Manager
- Network Manager Component
Correct answer: Online Subsystem
The Online Subsystem (OSS) is Unreal Engine's abstraction layer for platform-specific online services like Steam, Epic Online Services, and console SDKs.
Question 6: What is 'lag compensation' in the context of Unreal Engine multiplayer?
- Compressing packets to reduce bandwidth usage
- Rewinding server game state to validate hits accounting for client latency (Correct answer)
- Predicting future positions of remote players on the client
- Buffering rendered frames to smooth visual jitter
Correct answer: Rewinding server game state to validate hits accounting for client latency
Lag compensation rewinds the server's game state to the moment a client fired, ensuring hit detection accounts for the player's round-trip latency.
Question 7: In Unreal Engine Blueprints, which node is used to check if code is currently running with server authority?
- Is Server
- Has Authority (Correct answer)
- Is Net Mode Server
- Check Net Role
Correct answer: Has Authority
The 'Has Authority' node returns true when the executing machine is the authoritative server, allowing logic to be guarded to server-only execution.
What does the UPROPERTY specifier 'Replicated' do in Unreal Engine C++?