---
title: "Artificial Intelligence for Beginners"
content_type: course
url: "https://learn.unity.com/course/artificial-intelligence-for-beginners?language=en"
language: en
difficulty: intermediate
duration_minutes: 1265
unity_version:
  - "6.0"
supported_unity_versions:
  - name: "6.0"
    url: "https://learn.unity.com/course/artificial-intelligence-for-beginners.md?language=en&version=6.0"
  - name: "2021.3"
    url: "https://learn.unity.com/course/artificial-intelligence-for-beginners.md?language=en&version=2021.3"
last_updated: "2026-08-04T14:20:45.000Z"
---

# Artificial Intelligence for Beginners

In this course, Dr Penny de Byl reveals the most popular AI techniques used for creating believable game characters using her internationally acclaimed teaching style and knowledge from over 25 years researching and working with games, computer graphics and artificial intelligence. Throughout, you will follow along with hands-on workshops designed to teach you about the fundamental AI techniques used in today's games. You'll join in as NPCs are programmed to chase, hide, flee, patrol, shoot, race, crowd, plan and much more.

## For educators

Below you can download a CSV outline and a Common Cartridge file for this course.

**CSV Outline**
Open the CSV outline in spreadsheet software (Excel, Google Sheets) for a summary of all content in the course, with links to each tutorial, exercise, and quiz.

**Common Cartridge**
Use the Common Cartridge file to import the course content into your Learning Management System (such as Canvas, Moodle, Blackboard, etc.). See instructions from your LMS provider for importing Common Cartridge files.

- [Artificial Intelligence for Beginners 2021.3 Common Cartridge File](https://storage.googleapis.com/learn-platform-bucket-production/course/6a3b2c48-c879-5092-88e9-5d243abd2fcb/educatorMaterials.materials%5B_key==%22d4581d1a715a%22%5D.file/Artificial_Intelligence_for_Beginners_2021_3_CommonCartridge_20251027_175255.imscc)

## Contents

### [Introduction](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/introduction?language=en&version=6.0)

In the tutorial you will be introduced to the course content as well as given an overview of the field of AI and how AI in games fits into the domain.

- [Welcome to the Course](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/introduction/tutorial/welcome-to-the-course-3?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/introduction/tutorial/welcome-to-the-course-3.md?language=en&version=6.0)) — In the tutorial you will be introduced to the course content as well as given an overview of the field of AI and how AI in games fits into the domain.
- [Introduction to Artificial Intelligence](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/introduction/tutorial/introduction-to-artificial-intelligence?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/introduction/tutorial/introduction-to-artificial-intelligence.md?language=en&version=6.0))
- [Not So Scary Vector Mathematics](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/introduction/tutorial/not-so-scary-vector-mathematics?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/introduction/tutorial/not-so-scary-vector-mathematics.md?language=en&version=6.0))

### [The Mathematics of AI](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-mathematics-of-ai?language=en&version=6.0)

In this project, you will learn about the fundamental mathematics used in moving characters around in a game environment. You will follow along as geometry and trigonometry is used to develop methods that move and turn game characters.  With these techniques you'll put together an auto-navigating character that represents the basis of the simple artificial intelligence used in developing non-player characters.  In doing this you will discover the mathematics behind some of Unity's most used Vector and Angle manipulating methods.

- [Cartesian Coordinates](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-mathematics-of-ai/tutorial/cartesian-coordinates?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-mathematics-of-ai/tutorial/cartesian-coordinates.md?language=en&version=6.0))
- [Vectors](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-mathematics-of-ai/tutorial/vectors-q?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-mathematics-of-ai/tutorial/vectors-q.md?language=en&version=6.0))
- [Dot Product](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-mathematics-of-ai/tutorial/dot-product?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-mathematics-of-ai/tutorial/dot-product.md?language=en&version=6.0))
- [Virtual Pet Challenges](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-mathematics-of-ai/tutorial/autopilot?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-mathematics-of-ai/tutorial/autopilot.md?language=en&version=6.0))

### [The Physics of AI](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-physics-of-ai?language=en&version=6.0)

In this project, you will be introduced to some of the fundamental principles in the field of physics and how they are used to move objects around in the game environment. The relationships between time, velocity and acceleration will be investigated and then applied in the creation of an automated shooting tank that calculates the angle of it's turret based on parabolic mathematics and the position of an enemy.

- [Time](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-physics-of-ai/tutorial/time-0fbw?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-physics-of-ai/tutorial/time-0fbw.md?language=en&version=6.0))
- [Velocity](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-physics-of-ai/tutorial/velocity?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-physics-of-ai/tutorial/velocity.md?language=en&version=6.0))
- [Introducing Acceleration](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-physics-of-ai/tutorial/Introducing%20Acceleration?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-physics-of-ai/tutorial/Introducing%20Acceleration.md?language=en&version=6.0))
- [Calculating Trajectories](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-physics-of-ai/tutorial/calculating-trajectories?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/the-physics-of-ai/tutorial/calculating-trajectories.md?language=en&version=6.0))

### [The A* Algorithm](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng?language=en&version=6.0)

In this tutorial you will learn about the fundamental concepts used in the creation of Behaviour Trees.  You will also take this knowledge and apply it in Unity by building a simple simulation scenario where a behaviour tree is used to define action sequences of a thief stealing a diamond from a gallery.

- [Introducing the  A* algorithm](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/introducing-the-a-algorithm?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/introducing-the-a-algorithm.md?language=en&version=6.0))
- [Starting Work on a Pathfinding Algorithm](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/starting-work-on-a-pathfinding-algorithm?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/starting-work-on-a-pathfinding-algorithm.md?language=en&version=6.0))
- [Selecting Random Starting and Ending Points in a Maze](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/the-a-pathfinding-algorithm-part-3?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/the-a-pathfinding-algorithm-part-3.md?language=en&version=6.0))
- [Placing Markers for Visualising A*](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/the-a-pathfinding-algorithm-part-4?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/the-a-pathfinding-algorithm-part-4.md?language=en&version=6.0))
- [Beginning to Search](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/the-a-pathfinding-algorithm-part-5?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/the-a-pathfinding-algorithm-part-5.md?language=en&version=6.0))
- [Watching the A* in Action](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/the-a-pathfinding-algorithm-part-6-1?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/the-a-pathfinding-algorithm-part-6-1.md?language=en&version=6.0))
- [Debugging and Tweaking A*](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/debugging-and-tweaking-a?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/a-36369ng/tutorial/debugging-and-tweaking-a.md?language=en&version=6.0))

### [Waypoints & Graphs](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs?language=en&version=6.0)

In this project you will learn about the major role that the mathematical construct of graphs plays in developing many artificial intelligence techniques in games.  You will discover how graphs are visualised in a set of waypoints used for non-player character navigation.  In addition we will cover the algorithms used for searching through graphs and develop classes for the A\* algorithm, one of the most prolific search methods used with graphs in games.

- [Waypoints](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs/tutorial/waypoints?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs/tutorial/waypoints.md?language=en&version=6.0))
- [Following a Circuit&Tracker](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs/tutorial/following-a-circuit?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs/tutorial/following-a-circuit.md?language=en&version=6.0))
- [Using A* with Waypoints Part 1](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs/tutorial/graph-theory?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs/tutorial/graph-theory.md?language=en&version=6.0))
- [A Simple Graph API](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs/tutorial/a-for-pathfinding?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs/tutorial/a-for-pathfinding.md?language=en&version=6.0))
- [Using A* with Waypoints Part 2](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs/tutorial/using-a-with-waypoints-part-2?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs/tutorial/using-a-with-waypoints-part-2.md?language=en&version=6.0))
- [Commanding a Path](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs/tutorial/commanding-a-path?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/waypoints-graphs/tutorial/commanding-a-path.md?language=en&version=6.0))

### [Navigation Meshes](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes?language=en&version=6.0)

In this project you will be introduced to navigation meshes and learn to use them in a game environment to move characters between goals.  You will develop AI algorithms that command characters to find the path between their current location and destination using the navigation mesh as the waypoint system.  The waypoint mecanics in the previous section will be reworked to use a navigation mesh rather than predefined straight lines between points.  This will make for more dynamic and intelligent appearing non-player characters.

- [NavMesh Introduction](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/navigation-mesh-introduction?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/navigation-mesh-introduction.md?language=en&version=6.0))
- [From Waypoints to Navigation Meshes](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/from-waypoints-to-navmesh?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/from-waypoints-to-navmesh.md?language=en&version=6.0))
- [Setting up NavMeshes](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/navmesh-agents?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/navmesh-agents.md?language=en&version=6.0))
- [Drop Height and Jump Distance](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/drop-height-and-jump-distance?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/drop-height-and-jump-distance.md?language=en&version=6.0)) — In this tutorial students will learn how to set off mesh links that can connect different heights and gaps in the navmesh for agents to drop across.
- [Defining Agent Types](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/defining-agent-types?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/defining-agent-types.md?language=en&version=6.0))
- [Areas and Costs](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/areas-and-costs?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/areas-and-costs.md?language=en&version=6.0))
- [Following a Player on a NavMesh](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/following-a-player-on-a-navmesh-and-setting-up-off-mesh-links?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/navigation-meshes/tutorial/following-a-player-on-a-navmesh-and-setting-up-off-mesh-links.md?language=en&version=6.0))

### [Finite State Machines](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/finite-state-machines-1?language=en&version=6.0)

In this project you will learn about the design patter of "states" and use them to construct an AI behavioural algorithm called a Finite State Machine.  This tutorial will combine you knowledge of NavMeshes and Graphs.

- [Introduction to Finite State Machines](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/finite-state-machines-1/tutorial/finite-state-machines-1?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/finite-state-machines-1/tutorial/finite-state-machines-1.md?language=en&version=6.0))
- [Creating a State Class](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/finite-state-machines-1/tutorial/creating-and-using-a-state-class?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/finite-state-machines-1/tutorial/creating-and-using-a-state-class.md?language=en&version=6.0))
- [Patrolling the Perimeter](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/finite-state-machines-1/tutorial/patrolling-the-perimeter?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/finite-state-machines-1/tutorial/patrolling-the-perimeter.md?language=en&version=6.0))
- [Chasing the Player](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/finite-state-machines-1/tutorial/chasing-the-player?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/finite-state-machines-1/tutorial/chasing-the-player.md?language=en&version=6.0))
- [Finite State Machine Challenge](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/finite-state-machines-1/tutorial/finite-state-machine-challenge?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/finite-state-machines-1/tutorial/finite-state-machine-challenge.md?language=en&version=6.0))

### [Autonomously Moving Agents](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents?language=en&version=6.0)

In this project you will be working with NavMesh agents to recreate some very popular steering behaviours to create non-player characters that move around independently in a game environment and make choices about their movements based on the location and orientation of the player character.

- [Steering Behaviors](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents/tutorial/steering-behaviors?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents/tutorial/steering-behaviors.md?language=en&version=6.0))
- [Wandering](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents/tutorial/wander-o5?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents/tutorial/wander-o5.md?language=en&version=6.0)) — Discover one approach to create smooth, random wandering behavior for an agent moving through an environment.
- [Hiding from the Player](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents/tutorial/hide-h1zl?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents/tutorial/hide-h1zl.md?language=en&version=6.0)) — Learn to script a hide behavior so an agent finds better hiding spots behind obstacles while reducing Update method calls.
- [Sneaking up on an NPC](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents/tutorial/sneaking-up-on-an-npc?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents/tutorial/sneaking-up-on-an-npc.md?language=en&version=6.0))
- [Adding Complex Behaviour](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents/tutorial/complex-behaviours?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents/tutorial/complex-behaviours.md?language=en&version=6.0)) — Learn to combine multiple steering behaviors with simple geometric rules to create complex agent movement.
- [Steering Behaviour Challenge](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents/tutorial/behaviour-challenge?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/autonomously-moving-agents/tutorial/behaviour-challenge.md?language=en&version=6.0)) — Challenge yourself to integrate wander behavior into complex AI so agents roam when their target is out of range.

### [Crowd Simulation](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/crowd-simulation?language=en&version=6.0)

In this project you will be working with a high number of agents to simulate crowd behaviour.  You will discover how patterns of movement can be formed from the simpliest of rules that mimic crowd behaviour in the real world.  By the end you will have created a crowded city street scene with humanoid characters walking along a pavement and avoiding each other as well as a simulation of a school of fish.

- [Moving As One](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/crowd-simulation/tutorial/moving-as-one?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/crowd-simulation/tutorial/moving-as-one.md?language=en&version=6.0)) — Discover key principles of crowd behavior and observe simple simulations that illustrate how group dynamics emerge.
- [Creating a City Crowd](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/crowd-simulation/tutorial/creating-a-city-crowd?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/crowd-simulation/tutorial/creating-a-city-crowd.md?language=en&version=6.0)) — Build a crowded city scene by configuring a NavMesh and scripting animated humanoid agents along sidewalks.
- [Fleeing](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/crowd-simulation/tutorial/fleeing-i?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/crowd-simulation/tutorial/fleeing-i.md?language=en&version=6.0)) — Add a hazardous obstacle to a crowd simulation and script agents to flee for a set duration.
- [Flocking](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/crowd-simulation/tutorial/flocking?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/crowd-simulation/tutorial/flocking.md?language=en&version=6.0)) — Apply flocking rules to program a school of fish, confine them to a tank, and add obstacles to the simulation.

### [Goal Driven Behaviour](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour?language=en&version=6.0)

In this project you will learn about the Goal-Orientated Action Planning (GOAP) architecture used to create intelligent agents that can set goals and plan at achieving them.  Unlike Finite State Machines, actions and states are uncoupled, making for a very flexible system.  You will build a GOAP system from the ground up and implement it in a simple hospital simulation.

- [An Introduction to GOAP](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/an-introduction-to-goap?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/an-introduction-to-goap.md?language=en&version=6.0)) — Learn how Goal-Oriented Action Planning (GOAP) creates flexible AI by separating actions from goals.
- [Setting up a GOAP Environment](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/setting-up-a-goap-environment?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/setting-up-a-goap-environment.md?language=en&version=6.0)) — Get introduced to the section’s starter file while you inspect the NavMesh configuration, agents, and upcoming simulation.
- [Preplanning the Agent Actions](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/pre-planning-the-agent-actions-1?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/pre-planning-the-agent-actions-1.md?language=en&version=6.0)) — Analyze the scenario’s GOAP agents, their planning process, and available actions before implementing the system in code.
- [The World States](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/the-world-states?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/the-world-states.md?language=en&version=6.0)) — Begin implementing world state classes that store and update game environment data used for GOAP planning.
- [Actions](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/actions-d?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/actions-d.md?language=en&version=6.0)) — Build a base action class that defines preconditions, effects, durations, and locations for agent behaviors.
- [Agents](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/agents-xq?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/agents-xq.md?language=en&version=6.0)) — Build the core structure of a C# class that controls the behavior of a GOAP Agent.
- [The GOAP Planner](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/the-goap-planner?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/the-goap-planner.md?language=en&version=6.0)) — Build the core GOAP Planner class to match actions with goals, preconditions, and effects using a recursive planning method.
- [Executing a Simple Plan](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/executing-a-simple-plan-1?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/executing-a-simple-plan-1.md?language=en&version=6.0)) — Implement the agent’s LateUpdate method to control how a plan runs each frame.
- [Creating a Multi-step Plan](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/creating-a-multi-step-plan?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/creating-a-multi-step-plan.md?language=en&version=6.0)) — Begin building multi-step action sequences that move an agent through its environment as part of a larger plan.
- [Adding Agents](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/plans-that-require-multiple-agents?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/plans-that-require-multiple-agents.md?language=en&version=6.0)) — Practice building queues that store GameObjects as reusable resources for planning in your project.
- [Adding More Resources to the World](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/adding-more-resources-to-the-world?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/adding-more-resources-to-the-world.md?language=en&version=6.0)) — Start managing multiple world resources by creating an inventory system that tracks agent ownership.
- [Implementing the Inventory System](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/implementing-the-inventory-system?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/implementing-the-inventory-system.md?language=en&version=6.0)) — Build an agent action that checks inventory items to send the patient GameObject to the correct cubicle.
- [Moving the Nurse](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/moving-the-nurse?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/moving-the-nurse.md?language=en&version=6.0)) — Learn one implementation for making the nurse character follow the patient to the cubicle based on the previous tutorial’s challenge.
- [Adding Goal Challenge](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/adding-goal-challenge?language=en&version=6.0) ([md](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/goal-driven-behaviour/tutorial/adding-goal-challenge.md?language=en&version=6.0)) — Add a post-treatment goal that sends patients home and fix a navigation mesh bug in your Scene.

### [Behaviour Trees](https://learn.unity.com/course/artificial-intelligence-for-beginners/unit/behaviour-trees?language=en&version=6.0)

In this project you will learn about the fundamental concepts used in the creation of Behaviour Trees. You will also take this knowledge and apply it in Unity by building a simple simulation scenario where a behaviour tree is used to define action sequences of a thief stealing a diamond from a gallery.
