MyPage is a personalized page based on your interests.The page is customized to help you to find content that matters you the most.

I'm not curious

Unity Mobile Game Development: Enemy AI and Waypoints

Course Summary

In this series of Unity tutorials, we'll demonstrate how to setup our waypoints in order to allow our enemies to seek and destroy the player. Software required: Unity 3.4.

  • +

    Course Syllabus

    Introduction and Project Overview
    - 1m 4s

    —Introduction and Project Overview 1m 4s
    Unity Mobile Game Development: Enemy AI and Waypoints
    - 6h 23m

    —Mapping Out the Problem of Entities Moving Around Our Level 5m 21s
    —Waypoint Ideas, Concepts and Our Implementation 7m 26s
    —Creating an Initial Waypoint Prefab and Setting It Up 8m 1s
    —Filtering Nearby Objects to Other Waypoints with a Layer Mask 7m 36s
    —Coding a Variable Distance with a While Loop 10m 14s
    —Building in Line-of-sight with Layer Masks 5m 57s
    —Relaying Information to Neighbors Without Infinite Loops 11m 53s
    —Initializing a Generic List of Waypoints to Get to the Player 12m 52s
    —Creating an Initialize Function and Removing the Countdown 9m 47s
    —Using Conditionals to Check if We Want to Update the List 10m 58s
    —Creating a Controller Script That Gathers All the Waypoints 7m 30s
    —Locating the Closest Waypoint to Any Point in Space 13m 16s
    —Coding a Function to Return a Random Waypoint 10m 37s
    —Using a While True Yield Loop to Update Every Few Seconds 8m 50s
    —Creating a Spawner Script to Create New Enemies 8m 51s
    —Using a Spawn Controller to Randomly Spawn Enemies 5m 16s
    —Controlling the Number of Enemies Spawned 9m 27s
    —Creating a Basic Enemy Script to Use Our Waypoints 8m 49s
    —Moving with the Smooth Damp Method 10m 39s
    —Deciding When to Go to the Next Waypoint 7m 51s
    —Using Rotate Towards and Look Rotation to Rotate the Enemy 12m 47s
    —Refactoring Our Code into a New Function 12m 30s
    —Updating the Player Location List so the Enemies Don't Stop 9m 7s
    —Refactoring into an Infinite Loop Function to Update Waypoints 8m 23s
    —Creating a Basic Finite State Machine to Run Our Enemy AI 9m 9s
    —Using a Switch Statement to Run Code Based on the Enemy State 7m 27s
    —Creating a Function to Check for Transitions 6m 41s
    —Adding a Distance Check Before the Enemy Starts Following 8m 9s
    —Transforming the Enemy Forward in the Start State 11m 11s
    —Importing Our Final Geometry and Splitting Animations 8m 19s
    —Updating Our Enemy Prefab with the New Geometry 11m 18s
    —Changing Our Enemy Animation in Code with Animation Play 9m 29s
    —Coding an Attack Decision into Our Transition Function 10m 13s
    —Telling Our Spawn Controller When an Enemy Has Died 10m 0s
    —Changing Our Movement Speed Based on the Current State 7m 47s
    —Refactoring Our Code to Be More Readable and User Friendly 5m 58s
    —Playtesting Our Enemy AI and Hunting Down Bugs 6m 48s
    —Using Random Values to Create More Realistic Movement 8m 3s
    —Adding a Collider to Our Prefab for Hit Testing 6m 24s
    —Testing if We Have Been Attacked or Hit 9m 8s
    —Coding for Other Notifications to Work in Our Game 8m 3s
    —Stopping the Animations from Playing While Paused 8m 52s
    —Stopping the Logic from Running When the Game Is Over 6m 36s

Course Fee:
USD 29

Course Type:


Course Status:



1 - 4 hours / week

Attended this course?

Back to Top

Awards & Accolades for MyTechLogy
Winner of
Top 100 Asia
Finalist at SiTF Awards 2014 under the category Best Social & Community Product
Finalist at HR Vendor of the Year 2015 Awards under the category Best Learning Management System
Finalist at HR Vendor of the Year 2015 Awards under the category Best Talent Management Software
Hidden Image Url