Download

Tower Defense Starter Kit

The v4.20 compatibility update has been submitted to the Marketplace team and should be available for download sometime during the coming week. In case you’re converting your projects to v4.20 prior to that, just make sure to replace the deprecated Simple Move to Location blueprint node with its new version, in the ‘Move to Exit Point’ function of ‘BP_EnemyAI_Parent’ class.

TDSK233.jpg

Hi Stormrage, first off - amazing template you have here, having a blast playing around with it. One question I have is how would you go about changing the mesh model as you upgrade your tower? Thanks!

Thanks again for the generous feedback, MT. :slight_smile: For some reason, I did not receive any email notification for this post. But anyways let me know if you run into any trouble with the procedure we talked about.

As part of the Marketplace Fall Sale, the Tower Defense Starter Kit will be available at discounted prices [20% OFF] until Nov 27th.

Also just wanted to point out that the v4.21 compatibility update has been put on hold due to a navigation-related bug present in the engine upgrade process from 4.20. You can find more details about it here: https://answers.unrealengine.com/que…r-startup.html. Compatibility for 4.21 will be added as soon as the issue is resolved.

Edit:

The v2.4 update has gone live and has added v4.21 compatibility for the toolkit.

The v2.5 update for Tower Defense Starter Kit has gone live on the Marketplace.

Change Log:

  1. Introduced an improved data-driven model for defining Towers. Unlike the previous model centered around grouping base towers & their upgrades together in one place, the new approach treats each upgrade level of every tower class as a separate entity in itself, and can be defined through the data table ‘DT_TowerData’.

The modular & decoupled nature of this design should facilitate the addition of new features with far greater ease than the previous system. For example, adding branching tower upgrade paths (similar to the final upgrade in Kingdom Rush) would require very little modification in this scenario & prevents the need to deal with unwieldy nested struct arrays.

Moreover, changes to the data table, like the addition of new towers, will automatically reflect itself in the UI owing to the data-driven workflow.

  1. The Upgrade & Recycle/Sell functionalities have been separated from the Tower Functions category, which now explicitly deal with features like Overdrive & Repair modules. A new data table ‘DT_TowerFunctions’ has been added to define these tower functions.

  1. The tower interaction (Construct/Upgrade/Recycle/Tower Functions) workflow has been modified as per the following design:
  • Player Interaction >> User Interface >> Player Controller (Interface) >> Tower Manager >> Towers & Tower Constructor
  1. Added a new ‘GridCellHighlighter’ object to highlight grid cells under mouse cursor focus.

  2. New interface (BPI_TargetInfoDisplay) added to retrieve information about selected actors.

  3. The Loadout menu has been modified to use the new tower data model and will dynamically reflect alterations made to the data table. Players can now select towers directly from this screen instead of traversing to a separate Tower Selection menu.

All changes within the blueprints are tagged with the boolean variable ‘Version2_5’ in order to easily identify the new changes.

The v2.6 update for Tower Defense Starter Kit has been submitted to the Marketplace.

Change Log:

  1. The Loadout Menu now enables players to select Global Abilities at the start of a level.

  1. New UI elements for displaying slots left in the player’s loadout for Towers & Global Abilities.

  2. Introduced a Global Ability Manager to handle systems controlling the use of Global Abilities. The abilities themselves are now using a data-driven workflow that enables users to add new Global Abilities in just a few steps. No UI changes required; Just a new entry in the data table and an actor containing the logic to be executed. Tutorial for the same will be uploaded before the end of the week]

  3. Added v4.22 compatibility.

All changes within the blueprints are tagged with the boolean variable ‘Version2_6’ in order to easily identify the new changes.

Thanks to the changes introduced in the latest v2.6 update, adding new Global Abilities can now be done in a matter of minutes. I’ve shared a simple 4-step tutorial that covers the process of creating and adding your own Global Abilities from scratch.

The next update will see the addition of a few more abilities on top of the existing roster of Airstrike & Tower Guardians. I’ve received a couple of suggestions like proximity mines and traps that can be placed on AI paths. But more ideas are always welcome. So if anyone has other suggestions, feel free to share them.

So i’ve bought this and i’m trying to develop my own game from it and i keep getting this
UATHelper: Packaging (Windows (32-bit)): LogInit: Display: Warning/Error Summary (Unique only)

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: -----------------------------------

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: LogNavigation: Error: [/Script/Engine.RecastNavMesh] found in the DefaultEngine.ini file. This class has been moved. Please rename that section to [/Script/NavigationSystem.RecastNavMesh]

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: LogProperty: Error: UStructProperty::Serialize Loading: Property ‘StructProperty /Game/TowerDefenseStarterKit/Blueprints/WaveSpawningSystems/BP_BatchedWaveSpawnController.BP_BatchedWaveSpawnController_C:LinkWaveSpawnDataToDataTableEntries.CallFunc_GetDataTableRowFromName_OutRow’. Unknown structure.

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: LogProperty: Error: UStructProperty::Serialize Loading: Property ‘StructProperty /Game/TowerDefenseStarterKit/Blueprints/WaveSpawningSystems/BP_WeightedWaveSpawnController.BP_WeightedWaveSpawnController_C:RunBotSpawningSystem.CallFunc_GetDataTableRowFromName_OutRow’. Unknown structure.

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: LogProperty: Error: UStructProperty::Serialize Loading: Property ‘StructProperty /Game/TowerDefenseStarterKit/Blueprints/WaveSpawningSystems/BP_WeightedWaveSpawnController.BP_WeightedWaveSpawnController_C:PrepareAISpawnWeightDistArrayForNewWave.CallFunc_GetDataTableRowFromName_OutRow’. Unknown stru

cture.

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: LogProperty: Error: UStructProperty::Serialize Loading: Property ‘StructProperty /Game/TowerDefenseStarterKit/Blueprints/WaveSpawningSystems/BP_WeightedWaveSpawnController.BP_WeightedWaveSpawnController_C:SortAISpawnDataInIncreasingThreatOrder.CallFunc_GetDataTableRowFromName_OutRow’. Unknown struc

ture.

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: LogProperty: Error: UStructProperty::Serialize Loading: Property ‘StructProperty /Game/TowerDefenseStarterKit/Blueprints/WaveSpawningSystems/BP_WeightedWaveSpawnController.BP_WeightedWaveSpawnController_C:LinkAISpawnDataToDataTableEntries.CallFunc_GetDataTableRowFromName_OutRow’. Unknown structure.

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: LogUObjectGlobals: Warning: Class /Script/Engine.NavigationSystem is not a child class of Class /Script/Engine.NavigationSystemBase

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: CookResults: Warning: Unable to find package for cooking /Game/TowerDefenseStarterKit/Maps/Map_DynamicNavMeshPathDemo

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: LogCook: Warning: Unable to find package for cooking /Game/TowerDefenseStarterKit/Maps/Map_DynamicNavMeshPathDemo

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: LogLinker: Warning: Unable to load PhysicsSerializer with outer InstancedStaticMeshComponent /Game/TowerDefenseStarterKit/Blueprints/GameplayActors/BP_GridGenerator.BP_GridGenerator_C:GridCell_GEN_VARIABLE because its class does not exist

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: LogLinker: Warning: Unable to load PhysicsSerializer with outer InstancedStaticMeshComponent /Game/TowerDefenseStarterKit/Blueprints/GameplayActors/BP_GridCellDetector.BP_GridCellDetector_C:GridCellHighlighter_GEN_VARIABLE because its class does not exist

UATHelper: Packaging (Windows (32-bit)): LogInit: Display:

UATHelper: Packaging (Windows (32-bit)): LogInit: Display: Failure - 6 error(s), 5 warning(s)

UATHelper: Packaging (Windows (32-bit)): LogInit: Display:

UATHelper: Packaging (Windows (32-bit)):

UATHelper: Packaging (Windows (32-bit)): Execution of commandlet took: 7.50 seconds

UATHelper: Packaging (Windows (32-bit)): Took 18.9222119s to run UE4Editor-Cmd.exe, ExitCode=1

UATHelper: Packaging (Windows (32-bit)): ERROR: Cook failed.

UATHelper: Packaging (Windows (32-bit)): (see C:\Users\RoHil\AppData\Roaming\Unreal Engine\AutomationTool\Logs\D+Program+Files+Epic+Games+UE_4.20\Log.txt for full exception trace)

UATHelper: Packaging (Windows (32-bit)): AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)

UATHelper: Packaging (Windows (32-bit)): BUILD FAILED

PackagingResults: Error: Unknown Cook Failure

anyone know how to fix this , cause I’m basically a noob at this

Hi, may I know which version of the engine you’re using?

The v2.7 update for Tower Defense Starter Kit has been submitted to the Marketplace.

Change Log:

  1. Added support for multiple Exit Points to be linked to a single Spawn Point. Individual AI units can now either move towards a designated objective (set for each spawn point) or use their own dynamically selected objective instead of being restricted to a single common path.

  2. Added support for visualizing parallel spline path generation directly from the editor.

As shown in the video, only 6 spline points are defined manually. The parallel lanes are generated automatically based on data from the primary spline.

Additional Notes:
Search for Version2_7 in the blueprint editor to identify all the new changes in this update.

The v2.8 update for Tower Defense Starter Kit has gone live on the Marketplace.

New Features:

  • Added a new Global Ability: Proximity Mines. You can now deploy mines along the AI paths that deal area damage when triggered.

ezgif.comoptimize-1.gif

Bug Fixes:

  • Towers that fire projectiles no longer gain XP at twice the default rate.
  • Information about upcoming waves now shows an accurate count for different AI classes. Duplicate entries in the list have been removed.

Additional Notes:

The v2.8.2 hotfix update for Tower Defense Starter Kit has gone live on the Marketplace.

Change Log:

  • Fixed a bug that causes AI to not move in new maps. [Search for Version2_8_2 in the blueprint editor to identify the changes.]

Known Bugs:

  • Node connection error in BP_SpawnPoint due to a variable name change, preventing the game from loading in the editor. I’ve already submitted an update to fix it, but meanwhile here is the solution if anyone’s having trouble with running their projects:

The v2.8.3 hotfix update for Tower Defense Starter Kit has gone live on the Marketplace.

Change Log:

  • Fixed the node connection error in BP_SpawnPoint that prevented the game from starting up in v2.8.2.

  • Added a new optional Rush Mode option to the Runner AI class (now Rusher), that when activated will enable it to disregard predefined spline paths & rush (requires navmesh) straight for the exit point. The Rush Mode can be enabled by setting CanActivateRushMode? in BP_EnemyAI_Rusher to True.

    The default behavior is set such that it happens when their health goes below 25%. The health percent threshold (normalized to the 0-1 range) can be customized through the RushActivationHealth%. Alternatively, you can activate Rush through other triggers by calling the RushToObjective event.

    [Note: The Rush Mode is relevant only while using predefined spline paths for AI navigation. It will make no difference in the navmesh example since the AI is already taking the direct route to exit point.]

Additional Notes:

  • Search for Version****2_8_3 in the blueprint editor to identify all the new changes in this update.

I used this project to create a scenario myself, but the tower of scenario can’t be created in the BP_GridGenerator you gave me. What options have I set less?

Hi, I’ve uploaded a tutorial for setting up new Towers using the toolkit:

You should be able to get your towers working by following those steps. If you do run into issues, just let me know.

@Stormrage256

Hello sorry for my bad english.
Can you tell me how to fix these mistakes ?

Imgur

Alright, so what’s happening is that the AI units are not able to access their spline paths and hence unable to run their movement logic. May I know whether you’re using the nav mesh pathing or the custom spline path option for AI movement?

No problem with UE4 version 4.22.
But using UE4 4.23 shows these errors.
This happens on one of the cards included in the package.

I have not tested it in v4.23 since it’s still in the preview version. But thanks for letting me know beforehand. I’ll see if I can reproduce the issue at my end. Also by cards, could you be more specific which asset you’re referring to?

Hi @polkovnika , I was able to reproduce the issue in v4.23 preview 7. It’s caused by the spline components being set to null for some reason.

I’m not sure if its an engine bug, but what seems to be happening in 4.23 is that every time the spline construction script runs in the editor, it keeps retaining references to the components created in the past as you can see below:

The print strings within the green border are how it’s supposed to be. Three spline components: the middle one created by the user and parallel splines on each side generated automatically through the script. However, in v4.23, you can see ‘TRASH’ references (within the red border) to additional spline components and more keep getting added every time you compile.

You can fix this by adding the following node at the beginning of BP_SpawnPoint_SplinePathing’s construction script:

I believe that should take care of the issue. Let me know if it works out.