Tower Defense Framework – Path Editor & Wave System
Guardabarranco
$43.99
(no ratings)
Jump AssetStore
Modular tower defense framework for Unity with visual path editing, enemy registry, waves, tower placement, 5 targeting modes, projectiles, ScriptableObjects, events, and debug tools.Demo WebGL: itch.ioTower Defense Framework – Path Editor & Wave SystemBuild and prototype tower defense games in Unity with a modular framework designed to provide the core gameplay systems without requiring you to build them from scratch.Create enemy routes visually, configure enemies and towers through ScriptableObjects, build complex waves, manage tower placement, control targeting behavior, and extend the framework with your own gameplay systems.Core FeaturesVisual Path EditorDesign enemy routes directly in the Unity Scene View.Add, remove, and reorder waypointsMove waypoints with Scene View handlesReal-time path visualizationSpawn Point and Goal Point supportPath validationCustom Inspector toolsKeyboard shortcuts for path editingEnemy SystemCreate configurable enemy types using ScriptableObject data.Configure:HealthMovement speedDamage to baseKill rewardVisual prefabScaleDebug colorThe EnemyController handles movement, waypoint progression, health, death, and reaching the goal.Enemy RegistryThe framework includes a centralized registry for active enemies.Instead of repeatedly searching the scene for enemies, towers can access registered enemies through the EnemyRegistry.Features include:Centralized enemy trackingActive enemy collectionEnemy countRange queriesRegister/unregister eventsReduced dependency on scene-wide object searchesThis provides a more scalable foundation for scenes containing many active enemies.Tower SystemCreate configurable towers using ScriptableObject-based data.Configure:CostDamageRangeAttack rateRotation speedTargeting modeProjectile dataTower prefabVisual configurationTowerController handles enemy detection, targeting, attack timing, rotation, and projectile launching.5 Targeting ModesChoose how towers select their targets:First – Enemy closest to the goalLast – Enemy furthest from the goalClosest – Enemy nearest to the towerStrongest – Enemy with the most healthWeakest – Enemy with the least healthThe targeting system can be extended with custom strategies.Tower PlacementTwo placement approaches are supported.Tower SlotsPlace towers on predefined slotsPrevent placement on occupied slotsSlot-based gameplayFree PlacementPlace towers on valid positionsGround validationObstacle validationCustom placement validationThe placement system can also be extended with custom validation rules.Projectile SystemConfigure projectile behavior through ProjectileData.Supported projectile types include:HomingStraightInstantAreaProjectile settings include speed, lifetime, impact distance, prefab, scale, and visual configuration.Wave SystemCreate configurable waves containing multiple enemy types.Configure:Enemy typeEnemy amountSpawn intervalInitial delayWave delayCompletion rewardBoss wave flagWaveManager supports sequential wave progression as well as manual wave controls.Economy SystemManage the game's currency through a dedicated CurrencyManager.Features include:Starting moneyEnemy kill rewardsWave completion rewardsTower purchase costsCurrency validationAdd and spend currencyDebug money controlsLevel SystemConfigure levels using LevelData ScriptableObjects.Set:Starting moneyBase healthAvailable towersWave sequencePreparation timeTime between wavesThe GameManager controls the main game flow through multiple game states:PreparingPlayingWave CompletedGame WonGame OverPausedEvent-Driven ArchitectureThe framework includes a generic event system for communication between gameplay systems.This allows systems such as enemies, towers, economy, UI, upgrades, statistics, and custom gameplay features to communicate without creating unnecessary direct dependencies.Custom events can be created and subscribed to from your own scripts.ScriptableObject-Based WorkflowCreate gameplay data directly from the Unity Editor.Included data types:EnemyDataTowerDataProjectileDataWaveDataLevelDataThis data-driven workflow makes it easier to create multiple variations of enemies, towers, projectiles, waves, and levels.Editor & Validation ToolsDevelopment tools are included to help configure and test the framework.Custom inspectorsVisual path editingFramework validationScene setup validationRequired component checksPath visualizationTower range visualizationDebug ToolsBuilt-in debugging tools help during development.Visual DebuggingToggle with F3Display enemy pathsDisplay tower rangesDisplay enemy informationPerformance MonitorToggle with F4FPS displayActive object countsRuntime performance informationExtensible ArchitectureThe framework is designed to be customized and extended rather than treated as a closed system.Examples of possible extensions include:Custom targeting strategiesCustom placement validationCustom eventsNew enemy typesNew tower typesCustom status effectsAdditional gameplay systemsCustom game modesThe architecture uses several common programming patterns:Component-Based ArchitectureSingleton PatternObserver/Event PatternStrategy PatternFactory PatternRegistry PatternScriptableObject-Based DataPerformance-Oriented DesignThe framework avoids repeatedly searching the scene for active enemies by providing a centralized EnemyRegistry.The registry allows towers and other gameplay systems to access active enemies through cached references and range queries.Additional recommended optimization practices are documented, including:Object poolingReference cachingLayerMasksCollision matrix configurationAvoiding unnecessary per-frame allocationsProper event subscription managementIncludedTower defense runtime systemsVisual Path EditorEnemy SystemEnemy RegistryTower SystemTargeting SystemTower Placement SystemProjectile SystemWave SystemEconomy SystemLevel SystemGame ManagerEvent ManagerDebug ToolsPerformance MonitorFramework Validation ToolExample prefabsScriptableObject examplesDemo sceneComplete documentationRequirementsNo external dependenciesImportantThis framework provides the gameplay foundation for creating custom tower defense games.Visual assets, animations, UI, audio, visual effects, progression systems, tower upgrades, and game-specific mechanics can be added according to the requirements of your project.Placeholder assets are included in the demo to demonstrate the framework's systems and workflow.External Dependencies:NoneArchitecture:Modular component-based frameworkData System:ScriptableObjectsPath Editor:Scene View waypoint editorTargeting Modes:5Placement Modes:Tower Slots and Free PlacementProjectile Types:Homing, Straight, Instant, AreaEnemy Tracking:Centralized Enemy RegistryWave System:Configurable multi-enemy wavesEconomy System:Currency management and rewardsLevel System:ScriptableObject-basedGame States:Preparing, Playing, Wave Completed, Game Won, Game Over, PausedEvent System:Event-driven architectureEditor Tools:Custom inspectors, path editor and framework validationDebug Tools:Path, range and enemy visualizationPerformance Tools:FPS and object count monitoringDemo Scene:IncludedExample Prefabs:IncludedExample ScriptableObjects:IncludedDocumentation:IncludedAI was used as a development assistance tool during the creation of this package. ChatGPT was used to help organize and review code, identify and troubleshoot bugs, and suggest code optimizations and improvements. The package's functionality, implementation, integration, and final content were developed and assembled by the publisher.




