
Install Unity and Unity Hub to organize projects and manage multiple Unity versions. Select long-term support builds and install editor for Windows, macOS, or Linux, with mobile build options.
Set up a new Unity project with the 3D built-in render pipeline for a fast zombie tower defense. Install post-processing and recorder via the package manager.
Log in to the Unity Asset Store, import standard assets via the package manager, fix an obsolete script error, and use provided asset store props to add free assets.
Download free 3d models from Sketchfab for Unity zombie tower defence, verify licenses (CC attribution 4.0 international), credit artists, and choose FBX or OBJ formats for use in your game.
Unpack downloaded zip archives into separate folders, organize FBI files and textures, then import into Unity and fix normal maps to prepare assets for the Unity zombie tower defence game.
Learn to optimize textures for Unity by replacing large textures with 4k, matching smaller maps, and creating materials with albedo, ambient occlusion, metallic, and normal maps, then set up prefabs.
Switch from the standard material shader to the Autodesk interactive shader to enable both metallic and roughness textures, then unpack prefabs, remove the overexposed sun, and save the scene.
organize the prefabs folder by creating subfolders for buildings and environment, moving buildings, fences, turrets, sandbags, and rocks into my prefabs, then assign towers to buildings and review spawn behavior.
This video shows how to prep and align prefabs for spawning, including setting pivots, scaling, colliders, and prefab overrides to ensure objects instantiate correctly.
Scale prefabs to 0.05 on all axes, adjust mine, spike trap, tires, and turret orientation, remove the turret animator, unpack the prefab, and prepare for script-driven animation with box colliders.
Learn to capture polished UI thumbnails by setting up a camera and a three-point lighting rig, and using Unity's recorder to shoot 1920×1080 PNG screenshots of prefabs.
Create game-ready button graphics by editing images in a free online Photoshop-like tool, assembling them in layers, adding borders, and exporting as pngs for Unity.
Set up a Unity UI bottom panel by importing thumbnails as sprites, creating a canvas, and arranging buttons to select and place game objects like barbed wire fence and barricade.
Design a bone-shaped button in Photoshop on a 512 by 512 transparent canvas. Create a black three-sided button with emboss and export a texture for Unity placement.
Finish the UI layout by importing textures, converting them to sprites for the UI, enabling alpha transparency, and arranging button graphics into panels for quick switch-off of multiple items.
Set up a test Unity scene with terrain and grass, create a glowing placeholder for placement, and configure post-processing to glow as you move the mouse.
Create a place script in Unity that makes the placeholder follow the mouse by casting a ray from the main camera to terrain and moving to the hit point.
Spawn objects in Unity by using a 2D audio source to play a bounce sound on placement and instantiate the prefab at the placeholder position and rotation.
Rotate the placeholder between horizontal and vertical placements using a boolean and a switch script, with the right mouse button toggling a 90-degree y-axis rotation via a public static variable.
Learn to wire UI buttons to spawn specific objects in a Unity zombie tower defense scene using an object array, a switch script, and a selected object index.
Use the Unity event system with IPointerEnterHandler and IPointerExitHandler to detect hover. Toggle a canSet flag to prevent spawning and plan a royalty-free click sound.
Adjust object placement in Unity by zeroing the y position of prefabs, unpacking cubes, and aligning barrels and boxes on the ground, with audio feedback via a canvas audio source.
Learn to resize the placeholder in Unity by inspecting each object's mesh renderer bounds, unpacking prefabs, and applying a size reference to scale the placeholder with a Vector3.
Implement a closest-item system in Unity by comparing each item's distance to a placeholder with Vector3.Distance, track the closest object, and rotate it to indicate snapping.
Set up Unity to find new items by tag, tagging prefabs as horizontal or vertical, and duplicate each item with the matching tag while applying prefab overrides to support orientation.
Implement horizontal and vertical arrays in the Unity Zombie Tower Defence Game by tagging items, refactoring names, and finding items to spawn horizontal or vertical objects at designated spawn points.
Call the find items function from the switch and place scripts to enable snapping and free placement, updating the spawn point and placeholder based on direction.
Learn to switch between free placement and snap placement in a Unity zombie tower defence game by toggling a snapping flag with the spacebar.
Learn to fix item orientation in the Unity zombie tower defence game by adding a rotator script that rotates prefabs 90 degrees on the Y axis, ensuring correct placement.
Create and attach next and back button scripts to a Unity canvas to cycle through three panels, using an array of panels and an audio source on click.
Learn to implement level of detail (lod groups) to optimize scenes by using high detail up close and resolution, demonstrated with Elodie zero to three on fences and wireframe view.
Learn to implement auto LOD in Unity using the Auto Elodie plugin to generate multiple mesh detail levels for props, like car wrecks and gas tanks, while avoiding turret gaps.
Unpack and size items like dumpster, fence, gas bottle, gas tank, turret, and land mine; create horizontal and vertical variations with clear naming and tags for reliable spawning.
Set up the second panel by adding fourteen item buttons and mapping each to a placeholder item, then test spawning in play mode and adjust spawn point heights for prefabs.
Align and verify spawning items in Unity by zeroing Y, adjusting heights, rotating models, snapping together, and syncing with the button set and switch script.
Review guides assembling Unity prefabs for zombie tower defence game, with snapping and rotation for sandbags, blades, spike traps, and tyres. Test the setup and cap usage to five fences.
Learn to display and update item counts in a Unity zombie tower defense UI using amounts and text arrays, updating numbers as items are placed and stopping at zero.
Set up numbers for panel 2 and 3 by duplicating dumpsters, fences, gas tanks, turrets, land mines, bikes, spikes, and tires onto buttons, with 18 placeholders updating during play.
Learn how to preload textures by pooling assets in Unity, loading textures into video RAM at scene start and destroying pooled objects afterward to enable instant instantiation during gameplay.
Complete the section by finalizing the placement system, saving the scene, and preparing the first map layout, then introduce zombies and implement items to start killing them.
Create the first level terrain, border it with rocks and trees, set width, height, and resolution, configure the splat map, and place a wooden watchtower for the zombies.
Organize your level by grouping trees and rocks into folders to keep hierarchy clean, then mark rocks as static to enable batching with the same material for baked light maps.
Bake lightmaps in unity with mixed directional light and baked point lights to enhance global illumination for static objects, using HDR sky maps for realistic lighting.
Apply post-processing in Unity to enhance the scene with bloom, tone mapping aces, exposure, hue shift, saturation, ambient occlusion, and chromatic aberration.
Texture terrain by layering grass rocky albedo, painting rock details with normal maps, and adjusting brushes, opacity, and metallic values for a natural, varied ground before adding props.
Place and refine props on the map, repaint grass with adjustable opacity, apply auto LOD to stone piles and rocks, group into a props object, and test batching for performance.
Copy and paste prop placements into level one, tag terrain, and adjust the main camera to position items and test placement in play mode.
Create a Unity camera movement script to move the main camera with forward, back, left, right keyboard input and zoom with z and x, using delta time for consistent speed.
Create non-click areas on terrain by adding a trigger box collider over rocks; scale a cube to match, remove its mesh renderer, and tag the terrain to prevent placement there.
Create a compact UI instruction panel in Unity, set its appearance and text (WASD, space, Z, X, snapping, rotate with clicking), and align the camera for the initial view.
Import six zombie assets into Unity, configure materials with albedo, metallic, smoothness, normal map, and ambient occlusion, and create zombie prefabs while adjusting lighting and rig settings.
Fix hair transparency with alpha cutout textures and apply material, then optimize zombie models with mesh decimation to create levels of detail (lods) for the Unity zombie tower defence game.
Configure zombie animations in Unity with a single animator and multiple looping walk states plus an idle state, controlled by a walk style parameter randomized at spawn.
Edit root motion by duplicating the walk three clip and replacing it in the animator. Remove x, y, z keyframes in the hips position so the zombie stops moving forward.
Discover how many zombies you can render on screen in a Unity tower defense game, monitor frame rate, triangles, and batches to optimize performance.
Learn to enable zombie movement using a nav mesh agent, bake a navigation mesh, and set a moving target to steer zombies toward a destination while tuning speed and rotation.
Zombies collide with a fence barrier using a trigger collider and push it until a set limit, at which point the fence becomes invisible and allows zombies to pass.
Control zombie speed by animation using a speeds array indexed by walk style. Read the current style from the animator and apply its speed to movement, then refresh on enable.
Create a barricade trigger collider, tag it barricade, and trigger the getting hit animation via on trigger enter to stop zombies.
Apply not mesh obstacle to stationary objects to carve holes in the nav mesh, teaching the zombie to avoid barrels, boxes, and wrecks rather than walking through them.
Set up and configure fences and obstacles for a Unity zombie tower defense scene. Copy components, attach pushed scripts, and adjust colliders to create functional blockers and test zombie interactions.
Set up spikes and a saw as traps in a Unity zombie tower defence game, configure triggers and tags, adjust animations, and create a rotate script to spin the saw.
Create a landmine in Unity using a trigger collider, a controlled explosion with animation and particles, and deactivate the mine after detonation to affect nearby zombies.
Learn to set up explosive objects in Unity by duplicating triggers, creating per‑object explosion animations, tuning scale and particles, and testing with a simple E key script.
Set up a gun turret in Unity to target closest zombies and shoot them, using a movable base, muzzle holder, and non-looping muzzle flash, then control firing with a script.
the turret script shows writing a c# script to target the closest zombie within 20 meters using an items array and zombie tag, with dying state and particle effects.
Learn to script zombie death in a Unity zombie tower defence game by using a death trigger, animation events, and an AI agent to stop and fade out dead zombies.
Learn to implement diverse zombie death styles in Unity using an animator with a death style integer (0–3) and fade events, tested with two turrets and multiple zombies.
Attach a 3D spatial audio source to gun turrets in Unity, loop a WAV clip, and control volume. Destroy turrets when ammo runs out, syncing audio with zombies.
Add blood spray effects to zombies using Unity particle systems; attach blood spray to the neck, enable on death, and test for realistic gore.
Add an HQ explosion sound from pixabay.com to landmines and gas tanks in Unity, set the audio source to 3D, and trigger it via the explosion animation at 0.05 seconds.
Implement a public kill amount script on spikes, barricades, and blades to limit zombie kills, decrement on hits, and deactivate the object when the limit reaches zero.
set up a zombie spawn point and a spawn script in unity to spawn zombies at intervals from a defined point. test with barricades and weapons while tracking total spawns.
Learn to manage respawning in a Unity zombie tower defence game by deactivating destroyed objects, controlling blood effects, and resetting zombie states for consistent re-entry.
Standardize zombie setup in a Unity zombie tower defence game by copying components and values from zombie four to zombies two, three, five, and six, including prefabs and particle effects.
Ensure zombie prefabs are typed as zombie so gun turrets target them, then download space arms assets and sounds from SketchUp with CC attribution for AK-45, pistol, and sawn-off shotgun.
Import weapon assets into Unity, fix normal maps, and apply textures and materials for pistols, shotguns, rifles, and sniper textures, aligning UVs and normals for animation-ready arms.
Separate the Beretta’s shoot, reload, draw, and idle into individual animation clips using keyframes with start and end frames, then duplicate and apply to the sawn-off shotgun and other weapons.
Create per-weapon animated controllers in Unity, map draw, idle, shoot, and reload transitions with triggers, and test arm alignment and camera clipping for each weapon.
Tune animation transitions across weapons in the animator, fix clipping, and speed shooting with tight transitions for Beretta, SMG, 50 cal, grenade launcher, and sniper.
Create a universal gun script in Unity that manages eight weapons with arrays, ammo counts, and weapon-switch delays, while coordinating audio and animations for realistic firing.
Implement weapon switching in a Unity zombie tower defense game by initializing guns, wiring audio and animation, and using the mouse scroll wheel to cycle through weapons with state management.
Explore how to implement shooting mechanics in Unity: switch between weapons, handle submachine guns' continuous fire, and trigger shoot animations, sounds, and bullet count updates with left mouse button.
Implement gun reloading in the Unity zombie tower defence game by handling input, playing reload animations, and resetting bullets. Debug console checks ensure ammo logic and audio playback stay synced.
Learn to add muzzle flash and non looping particle effects to weapon prefabs in Unity, adjust duration, glow, size, and emission across rifle, shotgun, grenade launcher, and sniper setups.
Adjust muzzle flash timings for weapons by configuring particle effects (duration, start size, simulation speed) and disabling scripts, then align sniper bolt sounds with animation frames for accurate feedback.
Review and fix a script logic issue by separating cases for weapon selected 3 and 4 when bullets left are <= 0, updating audio commands, and saving changes.
Set up the first person character in Unity by aligning cameras, copying components from the main camera, and parenting guns to the FPS camera; disable shadows on arms and weapons.
Learn to control footstep sounds in a Unity first-person character by toggling a use footstep sounds boolean to enable or mute audio during movement and jumps.
Implement a camera-based raycast shooting system to hit zombie heads, using layers and tags, and manage multiple weapons with distance-dependent raycasts.
Build powerful weapons in a Unity zombie tower defence game by enabling shots to hit multiple zombies, collecting hits from a cast, and processing each hit.
Demonstrates using animation events to regulate firing: add a shot pause and shot resume script, gate shooting with a can shoot flag, and trigger weapon-specific turret shots for heavier guns.
Limit ammo in the Unity zombie tower defence game by adding a clips array and restricting reloads, updating bullets left when switching guns for realistic combat.
Implement per-weapon bullet tracking to prevent ammo exploits by recording bullets used per gun, resetting on reload, and updating bullets left as players switch weapons.
Fix zombie hit detection by disabling the box collider on a single shot and re-enabling it on respawn, wiring the body collider in the prefab for quick multi-target hits.
Build the grenade launcher in Unity by creating a grenade prefab with forward motion, a non looping explode animation, and timed detonation with explosion effects that affect zombies.
Learn to set up explodeable prefabs, hit zones, and explosion logic in a Unity zombie tower defence game, enabling shooting to trigger explosions via scripts and animation.
Design a sniper scope texture in Photopea, creating a centered crosshair and black background, then export a PNG with a transparent background for use in Unity.
Learn to implement a sniper scope in Unity with two canvases, a sniper scope UI, and a crosshair. Zoom the camera with field of view and switch weapons via input.
Create and configure weapon icons in unity to display ammo counts, converting 3d weapon visuals to 2d icons, and capture clean screenshots for each gun.
Edit images in Photopea by copying and pasting assets onto a 1920 by 1080 transparent canvas, adjust opacity, remove backgrounds with layer masks or the magic wand.
Resize weapon icons to a consistent size using free transform, opacity, and guides; align them with rulers, refine with color overlays, and export as transparent PNGs for Unity.
Import images into Unity as icons, place them in an icons folder, set them as sprites with native size on the canvas, and adjust their opacity.
Arrange and center weapon icons, and implement on-screen bullet counters for left and total bullets using Unity UI text. Update counters in real time across weapon switches and reloads.
Unity zombie tower defence shows how to update gun icons when changing weapons by iterating an icon array, turning all icons off, then activating the selected one.
Add a Z to zoom user interface cue as a child of the sniper (and Bmkg) when activated, using a 100 by 20 image with white text, positioned and tested.
Learn to switch between first-person and alternate camera modes using a toggle key, manage UI canvases, and implement a piece toggle script to switch cameras and canvases in Unity.
Sort zombie prefabs in the Unity zombie tower defence game by aligning body colliders, kinematic components, tags, and layers across zombie variants to prepare levels and menus.
Create a zombie spawn point graphic in Photoshop, export with transparency, and import it as a Unity texture to mark spawn locations.
Set up a placement timer that counts down seconds before zombies start spawning, toggling spawn points and time text while switching to first-person mode.
Learn to navigate the map in Unity zombie tower defence by using first-person mode, clicking on terrain to reposition the player, and raycasting to place objects with camera override.
Learn to craft on-screen instructions for two modes, toggle canvas text, and use left-click to shoot, right-click to reload, with z and x for zoom and f for mode toggle.
Debugs the final bug by delaying turret firing with a timer, locating the time object and timer, and disabling play-on-awake muzzle flashes to ensure zombies are targeted.
Create level folders and a level one template, enable the wood tower, prepare zombie prefabs, and populate 60–80 zombies by an on-off spawn system for faster rendering.
Set level one to 70 zombies with a spawn rate of three per spawn every 1.5 seconds, and disable extra items to expose only a fence, barrel, barricade, and Beretta.
Display real-time kill counts and tower defense status on the canvas. Update killed zombies and remaining zombies via UI text and death-event triggers.
Create a trigger-based tower defense mechanic by adding a box collider, detecting zombie entries with an on trigger script, and decrementing the tower defense amount for each unique zombie.
Enhance the Unity zombie tower defence game by adding music and 3d spatial zombie sounds that trigger in first person mode, with adjusted spawn points, volume, and audio priorities.
Design and export level graphics for a Unity zombie tower defence game by creating level completed and level failed text overlays with stroke, background, color contrast, and PNG exports.
Set up level end user interface in Unity, with level complete and level failed banners on the canvas. Trigger them via a save script when zombies are killed.
Advance from level one to level two by configuring a new tower, its collider, and defense script, aligned with the target. Increase zombie spawns and adjust element mappings.
Level 2 implements an automated system that totals zombies from two spawn points via a save script and updates the canvas zombie text display to reflect the level total zombies.
complete level 2 by setting the tower to withstand eight zombie attacks and enabling weapon changes via the scroll wheel, while refining the canvas UI and monitoring frames per second.
Level three tutorial updates level layout by placing a shanty house with a box collider and adjusting navigation, spawn points, and zombie sets to support 180 zombies on screen.
Configure level 3 by balancing 600 zombies across spawn points, set 1.5 second spawns, enable turrets and exploder balls, tune weapons and ammo, and test in play and override modes.
Level four adds complexity with new terrain, an abandoned shop, a defense tower, and expanded zombie spawn points to boost on-screen zombies from 180 to 240.
Configure spawn points to unleash roughly a thousand zombies, tune ammo and weapon loadouts, and set up land mines, fences, traps, and turrets, then test in play mode.
Level five adds an old wooden house, closer zombie spawn points, and up to 4000 zombies, with tuned weapons, ammo, and barriers to test performance and difficulty.
Tackle the final level, shed map with doubled zombies: 8000 zombies, 2000 per spawn point, spawning every 2 seconds, and 100 zombies every 2 seconds, with doubled ammo and clips.
Set up the level select and the main menus for the Unity zombie tower defence game, arranging level icons from prefabs, tweaking lighting and post-processing, and capturing menu screenshots.
Assemble tower sprites, create a padlock overlay, crop and resize the canvas to 1920 by 1080, and export PNG icons for Unity integration in a zombie tower defense game.
Import tower icons as sprites, create a Unity canvas with user interface buttons, and arrange six level icons and a level select title to build the level select menu.
Learn to show locked levels with padlock icons and unlock them as levels are completed, using a level select script and a level loader for Unity scene transitions.
Set up a fullscreen black loading panel with white loading level text, activate it during scene loading, wait with WaitForSeconds, then load the scene, with auto-find or manual panel assignment.
Handle level completion in a Unity zombie tower defense game. Update level unlocks, display a win message, pause before loading the next level, and reset saved state on awake.
Learn how to implement persistent progress in a Unity zombie tower defense game using PlayerPrefs to save and load the number of unlocked levels between sessions.
Design main menu graphics in a 1920 by 1080 transparent canvas, featuring a bright green title and yellow hover buttons for play, credits, and quit, exporting png assets for Unity.
Learn to build a functional main menu in Unity by configuring UI sprites, creating play, credits, and quit buttons, and wiring them to a level loader and quit function.
Create a credits scene for the Unity zombie tower defence game, add a close button with a level loader, and configure build settings so credits appear in the game.
Export the game by adding a q key instruction to return to the main menu. Implement scene management through the main camera with the safe script across levels.
Export the game by configuring Windows build settings in Unity. Set the product name Kill All Zombies and add an icon.
Export and run the final game, verify credits, navigate the main menu and level select, and confirm smooth operation on Windows with standard controls.
Tower defence games are continuing to gain in popularity online. In this course I am going to show you how to create your own zombie tower defence game.
When I was creating this course I was initially thinking, should it be an overhead tower defence style game, or should it be a first person shooter style game. Well, when you have two great ideas, why not combine them. So this is a Hybrid of both overhead point and click as well as first person shooter.
The techniques covered in this course can be used to make any type of defence style games. Think of this as a template that you can use again and again and you can customise the game any way you like to realise your vision.
So what is covered in the course:
We develop a system for placing props into the level, with the ability to change items using an easy to create User Interface
Items can be placed freehand, or by pressing the spacebar, can be made to snap together either horizontally or vertically
Each item will have different purposes. Some will simply block the zombies, some will damage the zombies, some will blow them up, and in the case of the gun turrets, these will target and shoot the zombies
Once you have laid out your items the zombies will then begin spawning into the scene and you will enter into first person mode
You can change between overhead and first person modes to quickly navigate the map
We will setup a range of weapon types, ammo amounts and damage styles for each weapon, including sniper scope for the sniper rifle
You will have access to six zombies that I created for this course. You can use them in any of your other games too
The objective is to defend the tower. You must kill all the zombies on each level to unlock the next level
This course can be taken by anyone using the free Unity game engine. A basic understanding of C# code is suggested for you to make the most of this course. By the end of the course you will have another completed game in your portfolio. You will have developed your skills to an intermediate level and be ready to make your own Unity games.
So why not enroll today, and I look forward to seeing you in my course.
Thanks to the artists from Sketchfab for their 3D models used in this course