Unreal Engine Blueprints Functions, Events, and Macros 5 — Questions and Answers
Question 1: What is the correct way to call a parent class's implementation of an overridden Blueprint event?
- Right-click the event node and select 'Add Call to Parent Function' (Correct answer)
- Create a new function named 'Super_EventName' that proxies to the parent
- Use the 'Cast To Parent' node and then call the event
- Enable the 'Propagate to Parent' checkbox on the event node's details panel
Correct answer: Right-click the event node and select 'Add Call to Parent Function'
Right-clicking an overridden event node exposes 'Add Call to Parent Function,' which inserts a node that invokes the parent class's implementation.
Question 2: Which of the following is a valid use case for a Blueprint Interface function rather than a regular Blueprint function?
- Calling a function on an object without knowing its exact class at compile time (Correct answer)
- Sharing function logic across Blueprints without code duplication
- Creating a function that runs on every tick without an event graph
- Defining a function that can only be called from C++ code
Correct answer: Calling a function on an object without knowing its exact class at compile time
Blueprint Interfaces allow you to call a function on any object that implements the interface regardless of its specific class, enabling polymorphic calls.
Question 3: What happens to a Custom Event with input parameters when it is called using 'Call [EventName]' from another node in the same Blueprint?
- The input parameter pins appear on the call node and must be connected before compiling (Correct answer)
- Input parameters are ignored; Custom Events only accept parameters via the Event Dispatcher system
- The event fires with default values for all parameters and ignores any provided inputs
- Custom Events cannot have input parameters — only output parameters through delegates
Correct answer: The input parameter pins appear on the call node and must be connected before compiling
When a Custom Event has input parameters, the generated call node exposes those parameters as input pins that must be wired when calling the event.
Question 4: A Blueprint Macro is being shared across multiple Blueprint classes. What scope do any 'local' variables referenced inside the macro actually belong to?
- The Blueprint that calls the macro, since macros inline into the caller's scope (Correct answer)
- The MacroLibrary asset that defines the macro
- A hidden shared global scope accessible to all macros
- A per-invocation stack frame that is destroyed when the macro exits
Correct answer: The Blueprint that calls the macro, since macros inline into the caller's scope
Because macros expand inline, any variable access inside a macro operates in the variable scope of the calling Blueprint, not a private macro scope.
Question 5: Which node allows a Blueprint to call a function by its name stored in a String variable at runtime?
- Call Function by Name (Correct answer)
- Execute Blueprint Function
- Dynamic Dispatch
- Invoke Method
Correct answer: Call Function by Name
The 'Call Function by Name' node accepts a String name and uses reflection to locate and execute the matching function on a target object at runtime.
Question 6: What is the purpose of the 'Entry' node automatically present at the top of every Blueprint Function graph?
- It is the starting execution point of the function and exposes the function's input parameters as output pins (Correct answer)
- It defines the function's return type and must be connected to the Return Node
- It is a placeholder that is replaced by the actual function call site at compile time
- It allows the function to receive events from the engine's event system
Correct answer: It is the starting execution point of the function and exposes the function's input parameters as output pins
The Entry node marks where execution begins when the function is called and provides the function's input parameters as output data pins to use inside the graph.
Question 7: An Event Dispatcher is called using 'Call [DispatcherName]'. What happens if no events are bound to it at the time of the call?
- Nothing happens; the call silently succeeds with no listeners notified (Correct answer)
- The engine logs a warning and the Blueprint pauses execution
- The Blueprint throws a null-reference exception and stops
- The dispatcher queues the call and replays it when a listener binds later
Correct answer: Nothing happens; the call silently succeeds with no listeners notified
Calling an Event Dispatcher with zero bound listeners is safe — it simply has no effect, similar to broadcasting a multicast delegate with an empty list.
What is the correct way to call a parent class's implementation of an overridden Blueprint event?