While working on the latest update for FPS Tower Defense Toolkit, I came across the thought of using a Blueprint Function Library to retrieve references to commonly accessed resources within the toolkit. A few examples of these include retrieving the Tower Data Array which holds the default stats for all towers in the game, or getting a reference to the Wave Manager actor which pretty much handles all aspects of the toolkit related to wave generation & creep spawns.
The basic idea behind this move was to make it just as easy to retrieve these elements as it was to use a 'Get Player Controller' or 'Get Game Mode' functions from anywhere in your blueprints. So instead of forming huge chains of nodes to access a variable/call a function from another class, this function library would enable developers to just use it's getter functions to meet their needs, thus reducing unnecessary clutter in their blueprints. The functions themselves would handle the code for accessing the necessary data.
Due to the conveniences provided by this approach, I've added a similar system for the Tower Defense Starter Kit as depicted in the screenshots below. This feature will be available in the upcoming update to the toolkit.
Getter Function Library
Calling a Getter Function
[For more details about the Tower Defense Starter Kit, check out the official Unreal Engine forum support thread at: https://forums.unrealengine.com/showthread.php?102675-Tower-Defense-Starter-Kit-Support-Thread]