Unreal Engine Blueprint Visual Scripting 4 — Questions and Answers
Question 1: In Unreal Engine Blueprints, what is a 'Macro' and how does it differ from a function?
- A Macro is compiled to native C++ while a function stays in Blueprint
- A Macro is a reusable graph that is inlined at every call site and can have multiple execution inputs/outputs, unlike functions (Correct answer)
- A Macro runs asynchronously while a function runs synchronously
- A Macro is only usable in Level Blueprint while functions work everywhere
Correct answer: A Macro is a reusable graph that is inlined at every call site and can have multiple execution inputs/outputs, unlike functions
Macros are inlined graph templates that support multiple exec pins (useful for loops/branches) but cannot be overridden or called on other objects.
Question 2: What is the purpose of the 'Set Timer by Event' node in Blueprint?
- Schedules a custom event to fire after a delay, with optional looping (Correct answer)
- Pauses all timers in the current level
- Triggers an animation notify event at a specific time
- Sets the system clock to a new value
Correct answer: Schedules a custom event to fire after a delay, with optional looping
'Set Timer by Event' binds a custom event delegate and fires it after the specified interval, optionally repeating.
Question 3: Which Blueprint node retrieves the player's Pawn from the world?
- Get Player Character (Correct answer)
- Get Actor Of Class
- Get Controlled Pawn
- Get Player State
Correct answer: Get Player Character
'Get Player Character' returns the ACharacter-derived Pawn possessed by the specified player controller index.
Question 4: How do you call a function on every actor of a specific class currently in the level?
- Use 'Get All Actors Of Class' then loop through the array calling the function on each (Correct answer)
- Use 'Broadcast' on an Event Dispatcher targeting that class
- Use 'For Each Actor In Level' with a class filter
- Use 'Get Actor Iterator' with the class reference
Correct answer: Use 'Get All Actors Of Class' then loop through the array calling the function on each
'Get All Actors Of Class' returns an array of all matching actors, which you then iterate with a For Each Loop to call functions on each.
Question 5: What does the 'Spawn Actor From Class' node require as a minimum valid input to succeed?
- A valid Class reference and a valid Spawn Transform
- A valid Class reference and a collision response profile (Correct answer)
- A valid Level reference and an actor name
- A valid Class reference and an owning controller reference
Correct answer: A valid Class reference and a collision response profile
At minimum, Spawn Actor From Class needs a non-null Actor class and a Spawn Transform defining position, rotation, and scale.
Question 6: In Blueprint's collision system, what is the difference between 'Overlap' and 'Hit' events?
- Overlap fires when physics simulation detects a contact force; Hit fires when objects pass through each other
- Overlap fires when objects interpenetrate (no blocking); Hit fires when a blocking collision occurs and stops movement (Correct answer)
- Overlap fires every frame two objects are near each other; Hit fires only once per contact
- Overlap is for Pawns only; Hit works for all actor types
Correct answer: Overlap fires when objects interpenetrate (no blocking); Hit fires when a blocking collision occurs and stops movement
Overlap events fire when collision channels allow pass-through, while Hit events fire when a blocking collision physically stops an object.
Question 7: What is the function of the 'Get World Delta Seconds' node in a Tick event?
- Returns the total time in seconds since the game started
- Returns the time elapsed since the last frame, used for frame-rate-independent calculations (Correct answer)
- Returns the server-client time difference for lag compensation
- Returns the number of physics sub-steps in the current frame
Correct answer: Returns the time elapsed since the last frame, used for frame-rate-independent calculations
'Get World Delta Seconds' provides the time between the last and current frame, allowing movement and interpolation to be consistent regardless of frame rate.
In Unreal Engine Blueprints, what is a 'Macro' and how does it differ from a function?