---
title: "Beginner Scripting"
content_type: course
url: "https://learn.unity.com/course/beginner-scripting?language=en"
language: en
difficulty: beginner
duration_minutes: 170
unity_version:
  - "2019.3"
supported_unity_versions:
  - name: "2021.3"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=2021.3"
  - name: "2019.3"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=2019.3"
  - name: "2019.2"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=2019.2"
  - name: "2019.1"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=2019.1"
  - name: "2018.4"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=2018.4"
  - name: "2018.3"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=2018.3"
  - name: "2018.2"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=2018.2"
  - name: "2018.1"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=2018.1"
  - name: "2017.4"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=2017.4"
  - name: "2017.3"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=2017.3"
  - name: "2017.2"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=2017.2"
  - name: "2017.1"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=2017.1"
  - name: "5.x"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=5.x"
  - name: "4.x"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en&version=4.x"
available_languages:
  - name: "en"
    url: "https://learn.unity.com/course/beginner-scripting.md?language=en"
  - name: "es"
    url: "https://learn.unity.com/course/scripting-para-principiantes.md?language=es"
last_updated: "2026-10-01T19:10:26.000Z"
---

# Beginner Scripting

Learn about programming for game development, from the very beginning with these easy to follow video tutorials.

## For educators

This collection of tutorials is an excellent reference point for teachers or students who want to review the most important and foundational scripting concepts for developing with Unity. If you are unsure whether or not you understand a particular coding concept or if you want to make sure you have all your bases covered, reviewing the tutorials here can be very helpful.

Suggested Prerequisites:

Before reviewing the tutorials here, it is recommended that you have completed at least one beginner project in Unity to provide more context, such as:

- Roll-a-ball
- Karting Mods

## Contents

- [Scripts as Behaviour Components](https://learn.unity.com/course/beginner-scripting/tutorial/scripts-as-behaviour-components?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/scripts-as-behaviour-components.md?language=en&version=2019.3))
- [Variables and Functions](https://learn.unity.com/course/beginner-scripting/tutorial/variables-and-functions?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/variables-and-functions.md?language=en&version=2019.3)) — Learn what variables and functions are in C# and how they store and process data in your Unity scripts.
- [Conventions and Syntax](https://learn.unity.com/course/beginner-scripting/tutorial/conventions-and-syntax?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/conventions-and-syntax.md?language=en&version=2019.3)) — Review basic C# coding conventions, including dot operators, semicolons, indentation, and comments, in the Beginner Scripting project.
- [IF Statements](https://learn.unity.com/course/beginner-scripting/tutorial/if-statements?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/if-statements.md?language=en&version=2019.3)) — Learn to use IF statements in C# to control code execution based on conditions.
- [Loops](https://learn.unity.com/course/beginner-scripting/tutorial/loops-z2b?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/loops-z2b.md?language=en&version=2019.3)) — Use For, While, Do-While, and For Each loops in C# to repeat actions in your code efficiently.
- [Scope and Access Modifiers](https://learn.unity.com/course/beginner-scripting/tutorial/scope-and-access-modifiers?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/scope-and-access-modifiers.md?language=en&version=2019.3)) — Understand how variable and function scope and accessibility work in C# as part of the Beginner Scripting project.
- [Start MonoBehaviour Methods](https://learn.unity.com/course/beginner-scripting/tutorial/awake-and-start?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/awake-and-start.md?language=en&version=2019.3)) — Learn when and how to use Awake and Start to initialize behavior in your Unity scripts.
- [Update and FixedUpdate](https://learn.unity.com/course/beginner-scripting/tutorial/update-and-fixedupdate?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/update-and-fixedupdate.md?language=en&version=2019.3)) — Explore how Update and FixedUpdate run each frame so you can apply time-based changes correctly in your scripts.
- [Vector Maths](https://learn.unity.com/course/beginner-scripting/tutorial/vector-maths?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/vector-maths.md?language=en&version=2019.3)) — Review core vector math concepts, including Dot and Cross products, for beginner scripting in Unity.
- [Enabling and Disabling Components](https://learn.unity.com/course/beginner-scripting/tutorial/enabling-and-disabling-components?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/enabling-and-disabling-components.md?language=en&version=2019.3)) — Learn to enable and disable components via C# scripts during runtime as part of the Beginner Scripting project.
- [Activating GameObjects](https://learn.unity.com/course/beginner-scripting/tutorial/activating-gameobjects?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/activating-gameobjects.md?language=en&version=2019.3)) — Learn to control the active status of GameObjects in a scene and hierarchy using SetActive, activeSelf, and activeInHierarchy.
- [Translate and Rotate](https://learn.unity.com/course/beginner-scripting/tutorial/translate-and-rotate?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/translate-and-rotate.md?language=en&version=2019.3)) — Practice using the Transform functions Translate and Rotate to change a non-Rigidbody GameObject’s position and rotation in a script.
- [Look At](https://learn.unity.com/course/beginner-scripting/tutorial/look-at-s?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/look-at-s.md?language=en&version=2019.3)) — Learn to use the LookAt function so one GameObject’s Transform always faces another in your scene.
- [Linear Interpolation](https://learn.unity.com/course/beginner-scripting/tutorial/linear-interpolation?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/linear-interpolation.md?language=en&version=2019.3)) — Understand how to use the Lerp function in C# scripts to linearly interpolate between two values in your game logic.
- [Destroy](https://learn.unity.com/course/beginner-scripting/tutorial/destroy-i?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/destroy-i.md?language=en&version=2019.3)) — Discover how to use the Destroy() function to remove GameObjects and components at runtime.
- [GetButton and GetKey](https://learn.unity.com/course/beginner-scripting/tutorial/getbutton-and-getkey?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/getbutton-and-getkey.md?language=en&version=2019.3)) — Learn to read button and key input in Unity and adjust input axes using the Unity Input Manager.
- [GetAxis](https://learn.unity.com/course/beginner-scripting/tutorial/getaxis-o?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/getaxis-o.md?language=en&version=2019.3)) — Learn to read axis-based input with GetAxis and adjust axes in the Input Manager for responsive controls.
- [Detecting Mouse Clicks](https://learn.unity.com/course/beginner-scripting/tutorial/onmousedown?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/onmousedown.md?language=en&version=2019.3)) — Learn how to detect mouse clicks on Collider components and GUI elements in your scenes.
- [GetComponent](https://learn.unity.com/course/beginner-scripting/tutorial/getcomponent?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/getcomponent.md?language=en&version=2019.3)) — Learn to use the GetComponent function to access and work with properties on other scripts and components in your project.
- [Time](https://learn.unity.com/course/beginner-scripting/tutorial/delta-time?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/delta-time.md?language=en&version=2019.3)) — Learn what Delta Time is and how to apply it to smooth and interpret changing values in your games.
- [DataTypes](https://learn.unity.com/course/beginner-scripting/tutorial/data-types?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/data-types.md?language=en&version=2019.3)) — Learn how value and reference data types differ so you can reason more accurately about variables in C#.
- [Classes](https://learn.unity.com/course/beginner-scripting/tutorial/classes-5?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/classes-5.md?language=en&version=2019.3)) — Learn to use C# classes to organize data and write constructors that initialize parts of your class.
- [Instantiate](https://learn.unity.com/course/beginner-scripting/tutorial/instantiate?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/instantiate.md?language=en&version=2019.3)) — Learn to use Instantiate to clone prefabs at runtime as part of the Beginner Scripting project.
- [Arrays](https://learn.unity.com/course/beginner-scripting/tutorial/arrays-9o?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/arrays-9o.md?language=en&version=2019.3)) — Learn to use arrays in C# to group related variables into a structure that is easier to manage in your scripts.
- [Invoke](https://learn.unity.com/course/beginner-scripting/tutorial/invoke-2d?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/invoke-2d.md?language=en&version=2019.3)) — Learn to schedule, repeat, and cancel timed method calls in your Unity scripts with Invoke-related functions.
- [Enumerations](https://learn.unity.com/course/beginner-scripting/tutorial/enumerations?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/enumerations.md?language=en&version=2019.3)) — Learn to declare and use enumerations in C# to group related constant values in your scripts.
- [Delegates](https://learn.unity.com/course/beginner-scripting/tutorial/delegates?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/delegates.md?language=en&version=2019.3)) — Create and use delegates in C# scripts to add flexible, dynamic behavior to your Unity applications.
- [Switch Statements](https://learn.unity.com/course/beginner-scripting/tutorial/switch-statements?language=en&version=2019.3) ([md](https://learn.unity.com/course/beginner-scripting/tutorial/switch-statements.md?language=en&version=2019.3)) — Learn to write and use C# switch statements to compare one value against multiple constants in your Unity scripts.
