Tower Defense Starter Kit v1.4 Update Change Log

1. Added a new function library BPFL_GetterFunctions to easily retrieve references to all the core gameplay actors. As a result, getting a reference to the Tower Manager or the Tower Data Array is now as easy as getting the player controller or the game mode. 

Preview Screenshot:

For more details about the implementation, check out the dev log at: Tower Defense Starter Kit v1.4 Dev Log #1: Getter Function Library 

2. The Towers now have access to special Tower Abilities which can enhance their capabilities for a short duration of time. The implementation basically expands upon the same system that drives the Tower Upgrade/Recycle functions, but uses a composition based approach to make sure that the abilities remain as independent modules that can be attached to actors. The two new Tower Abilities introduced in this update are Overdrive [amplifies the tower's output per cycle for a set duration] & Repair [regenerates the tower's armor over set period of time].

Preview Screenshots: 

More abilities will be added in the future updates. For more details about the implementation, check out the dev log at: Tower Defense Starter Kit v1.4 Dev Log #2: Tower Abilities

3. The toolkit is now equipped with a new Global Ability System, which makes it easy to add new abilities that can be activated anywhere on the map. This update introduces the first of these abilities: Airstrike [unleashes a series of explosive strikes at the targeted location].

Preview Screenshot:

Preview Video: [My video creation/editing abilities are really bad, but I think it will atleast serve to demonstrate the working of Global Abilities. Feel free to check out the free playable demo (download link listed below the features section), if you want to try it out yourself]

More abilities will be added in the future updates. For more details about the implementation, check out the dev log at: Tower Defense Starter Kit v1.4 Dev Log #3: Global Abilities

4. The BP_PlayerController class now manages all low level HUD requests [updating independent UI elements like tower points, selected actor stats, etc within the In Game HUD] thus acting as a single conduit through which all updates pass through.

5. Added a new Grid Manager class to handle default grid properties & updates to the Grid Data Array.

6. The BP_GameMode now handles initialization of all core gameplay actors from a single central location using a well designed workflow instead of the actors having to rely on Begin Play events or initializing each other. This ensures improved code clarity from the get go as shown in the screenshot below:

Preview Screenshot:

7. The Tower Data Array & Tower Functions Array have been moved from the Tower Manager class to the BP_GameInstance class. This ensures that implementing tower unlocks & any other sort of modifications to the Tower/Tower Function attributes will be as easy as editing this single instance of the Tower Data Array without having to worry about the instances of the Tower Managers within every single level.

8. Fixed a bug that causes creeps to switch lanes immediately upon spawn [creating a flicker effect for less than a second] when using multi lane spline paths.

9. Removed unnecessary collision/trace channel checks for Towers & Creeps.

10. Removed Grid Snapping for towers when placed in the editor as the logic had conflicts with the new more data driven approach to Tower management. May be added back as an actor component in the future, if there are feature requests for the same.

11. Fixed a bug introduced in the last update which caused creeps destroyed at Exit Point to add Tower Points.

12. Other changes include improvements in code structure & modularity across most blueprints in the toolkit.

Gameplay demo of the v1.4 Tower Defense Starter Kit (Windows):

All changes within the blueprints are marked with the boolean variable 'Version1.4' in order to easily identify the workflow changes introduced with this update. Comments are also written to describe the major changes. The new variables as well as functions added to existing blueprints are also marked in the event graph as shown below:

Edit: The v1.4.1 update is now live on the Marketplace. This is a v4.12 exclusive update & fixes a bug that arises due to event access conflict, when multiple groups of the same creep class are spawned from different enemy spawn points within the same time frame. 

Edit: The v1.4.2 update is now live on the Unreal Engine Marketplace. This update officially adds support for v4.13 of the Unreal Engine & introduces the following changes to the product:

- The Camera Zoom workflow which previously relied upon a step zoom system implemented within the player pawn class, has been replaced with a modular component based system that supports both Smooth Zoom as well as Step Zoom functionality. Adding a zoom system to a custom pawn or changing the existing system type is now as easy as adding the Smooth Zoom or Step Zoom component to the pawn blueprint, alongside the required Camera Zoom interface & it's functions.
- Fixed a bug that caused the Mining Tower to display incorrect 'MiningRate' stats when hovering over the upgrade button.

Known Issues:

- If the Global Ability Button is used, the editor might display a warning once that instance of the game is closed. This can be fixed by opening up the 'Widget_GlobalAbilitesButton' class & then setting the 'Is Focusable' parameter to true within the detail panel as shown below: [The issue will be rectified in the next update]

For more details about the Tower Defense Starter Kit, check out the official Unreal Engine forum support thread at: