Update 7 (v1.7) has gone live on the Unreal Engine Marketplace. This update adds support for v4.12. Listed below are the main code changes introduced in this update:
- 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:
- Gameplay states such as Tower Build Mode, Combat Mode, etc have been separated from HUD State which now purely deals with high level HUD updates [transitions between loadout menu, in game HUD, mission summary, etc]. Furthermore all changes to the Gameplay state are now handled directly through the BP_GameState class while changes to the HUD State are handled through the BP_GameInstance & BP_PlayerHUD classes.
Preview Screenshots:
- The BP_PlayerController class now manages all low level HUD requests [updating independent UI elements like player health, ammo, tower points, etc within the In Game HUD] thus acting as a single conduit through which all updates pass through.
Preview Screenshot:
-
Added a new Grid Manager class to handle default grid properties & updates to the Grid Data Array.
-
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:
- The Tower Build HUD, Tower Upgrade HUD & Combat HUD have been combined into a single unified In Game HUD, while increasing the modularity of their individual UI elements. The design of the HUD has also been modified to reflect the changes.
Preview Screenshot:
-
Updates to the number of Tower Bases & the amount of Tower Points are now handled through the BP_PlayerState class.
-
The Tower Data Array has 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 Data 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.
-
Getter & Setter functions implemented throughout all classes to ensure that accessing/editing variables are always handled in a structured manner.
-
The Wave Manager now uses a single Wave Data Array for all 3 types of wave generators, instead of relying on 3 separate arrays formed out of three different types of structs. Based on the wave generator requirements for the projects, the user can remove the unnecessary struct members from the Struct_CreepSpawnData. [FPS Tower Defense Toolkit Basics section updated with the new changes to the Wave Manager at: https://forums.unrealengine.com/showthread.php?79300-FPS-Tower-Defense-Toolkit&p=349206&viewfull=1#post349206]
-
Fixed a bug that caused towers to stop functioning occasionally when it loses sight of the active target.
-
Other changes include improvements in code structure & modularity across most blueprints in the toolkit.
All changes within the blueprints are marked with the boolean variable ‘Version1.7’ 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:
Changes in the Content Browser:
-
New Blueprints: BP_GameInstance & BP_GridManager.
-
New Blueprint Function Library: BPFL_GetterFunctions.
-
Removed certain elements from the Enum EGameplayState.
-
New Enum: EHUDState.
-
BP_FPSTDCharacter, BP_FPSTDController, BP_FPSTDGameMode & BP_FPSTDHUD renamed to BP_PlayerCharacter, BP_PlayerController, BP_GameMode & BP_PlayerHUD respectively.
-
BP_FPSTDGameState & BP_FPSTDPlayerState renamed to BP_GameState & BP_PlayerState respectively.
-
BP_TowerSpawnManager renamed to BP_TowerManager.
-
New Structs: Struct_CreepSpawnCounter, Struct_CreepSpawnData & Struct_WaveData.
-
Deleted Struct_GroupBasedWaves, Struct_ThreatBasedWaves & Struct_UnitBasedWaves.
-
New Widgets: Widget_HealthBar & Widget_TowerUpgradeData.
-
Widget_TowerBuildHUD, WidgetBP_EnemyTypeData & WidgetBP_GameOverHUD renamed to Widget_InGameHUD, Widget_Stats & Widget_MissionSummaryHUD respectively.
-
Deleted Widget_CombatHUD.






