---
title: "Introduction to Finite State Machines"
content_type: tutorial
url: "https://learn.unity.com/tutorial/finite-state-machines-1?language=en"
language: en
difficulty: intermediate
duration_minutes: 15
unity_version:
  - "6.0"
supported_unity_versions:
  - name: "6.0"
    url: "https://learn.unity.com/tutorial/finite-state-machines-1.md?language=en&version=6.0"
  - name: "2021.3"
    url: "https://learn.unity.com/tutorial/finite-state-machines-1.md?language=en&version=2021.3"
  - name: "2019.4"
    url: "https://learn.unity.com/tutorial/finite-state-machines-1.md?language=en&version=2019.4"
  - name: "2019.3"
    url: "https://learn.unity.com/tutorial/finite-state-machines-1.md?language=en&version=2019.3"
  - name: "2019.2"
    url: "https://learn.unity.com/tutorial/finite-state-machines-1.md?language=en&version=2019.2"
  - name: "2019.1"
    url: "https://learn.unity.com/tutorial/finite-state-machines-1.md?language=en&version=2019.1"
available_languages:
  - name: "en"
    url: "https://learn.unity.com/tutorial/finite-state-machines-1.md?language=en"
  - name: "ja"
    url: "https://learn.unity.com/tutorial/finite-state-machines-1-jp.md?language=ja"
last_updated: "2026-08-04T14:21:38.000Z"
---

# Introduction to Finite State Machines

In this tutorial, students will gain an understanding of the basics of finite statement machines and setup a new project to use these to program an NPC.

## Materials

- [S0701Starter.unitypackage](https://storage.googleapis.com/learn-platform-bucket-production/tutorial/1410489e-67ca-5582-8431-30d1f87c1157/versions%5B_key==%2285ebf6895f5d000a2b11b8e464c852b0%22%5D.materials%5B_key==%2210e4729d7af7%22%5D.file/S0701Starter_20260316_122347.unitypackage)

## 1. Introduction to Finite State Machines

[Video](https://storage.googleapis.com/learn-platform-bucket-production/tutorial/1410489e-67ca-5582-8431-30d1f87c1157/versions%5B_key==%2285ebf6895f5d000a2b11b8e464c852b0%22%5D.sections%5B_key==%22u6X2hMV4GZ96GPitLOEtZI%22%5D.body%5B_key==%22u6X2hMV4GZ96GPitLOEtbR%22%5D.overviewVideo/S0701_20260316_122417.mp4) ([Transcript (en)](https://storage.googleapis.com/learn-platform-bucket-production/tutorial/1410489e-67ca-5582-8431-30d1f87c1157/versions%5B_key==%2285ebf6895f5d000a2b11b8e464c852b0%22%5D.sections%5B_key==%22u6X2hMV4GZ96GPitLOEtZI%22%5D.body%5B_key==%22u6X2hMV4GZ96GPitLOEtbR%22%5D.subtitles/S0701%20VTT%20en_20260525_195602.vtt))

In this tutorial, students will gain an understanding of the basics of finite statement machines and setup a new project to use these to program an NPC.
