---
title: "3D Beginner Game: Roll-a-Ball"
content_type: course
url: "https://learn.unity.com/course/roll-a-ball?language=en"
language: en
difficulty: beginner
duration_minutes: 170
unity_version:
  - "6.3"
supported_unity_versions:
  - name: "6.3"
    url: "https://learn.unity.com/course/roll-a-ball.md?language=en&version=6.3"
  - name: "6.0"
    url: "https://learn.unity.com/course/roll-a-ball.md?language=en&version=6.0"
  - name: "2022.3"
    url: "https://learn.unity.com/course/roll-a-ball.md?language=en&version=2022.3"
available_languages:
  - name: "en"
    url: "https://learn.unity.com/course/roll-a-ball.md?language=en"
  - name: "ja"
    url: "https://learn.unity.com/course/rollaball.md?language=ja"
  - name: "ko"
    url: "https://learn.unity.com/course/rollaball.md?language=ko"
last_updated: "2026-08-04T14:20:43.000Z"
---

# 3D Beginner Game: Roll-a-Ball

Welcome to 3D Beginner: Roll-a-Ball Game! In this learning project, you’ll:

- Use Unity Editor and its built-in capabilities to set up a simple game environment
- Write your own custom scripts to create the game functionality
- Create a basic user interface to improve the game experience
- Build your game, so other people can play it!

## 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.

- [3D Beginner Game: Roll-a-Ball 6.0 Common Cartridge File](https://storage.googleapis.com/learn-platform-bucket-production/course/56914d42-83ab-5797-a452-353502eadfaf/educatorMaterials.materials%5B_key==%2213a02e74bdce%22%5D.file/3D_Beginner_Game_Roll_a-Ball_6_0_CommonCartridge_20251024_225742.imscc)

## Contents

- [Setting up the game](https://learn.unity.com/course/roll-a-ball/tutorial/setting-up-the-game?language=en&version=6.3) ([md](https://learn.unity.com/course/roll-a-ball/tutorial/setting-up-the-game.md?language=en&version=6.3)) — Use Unity Editor to build a simple game, script its core behavior, add a basic UI, and create a playable build to share.
- [Moving the Player](https://learn.unity.com/course/roll-a-ball/tutorial/moving-the-player?language=en&version=6.3) ([md](https://learn.unity.com/course/roll-a-ball/tutorial/moving-the-player.md?language=en&version=6.3)) — Add a Rigidbody component, script a PlayerController in C#, and test and debug movement for the Roll-a-ball player sphere.
- [Moving the Camera](https://learn.unity.com/course/roll-a-ball/tutorial/moving-the-camera-1?language=en&version=6.3) ([md](https://learn.unity.com/course/roll-a-ball/tutorial/moving-the-camera-1.md?language=en&version=6.3)) — Position the Camera and script it to follow the Player sphere with a fixed offset in the Roll-a-ball project.
- [Setting up the Play Area](https://learn.unity.com/course/roll-a-ball/tutorial/setting-up-the-play-area-1?language=en&version=6.3) ([md](https://learn.unity.com/course/roll-a-ball/tutorial/setting-up-the-play-area-1.md?language=en&version=6.3)) — Configure your game’s play area by building one wall, then duplicating and positioning it to form a contained space.
- [Creating Collectibles](https://learn.unity.com/course/roll-a-ball/tutorial/creating-collectibles-1?language=en&version=6.3) ([md](https://learn.unity.com/course/roll-a-ball/tutorial/creating-collectibles-1.md?language=en&version=6.3)) — Design a PickUp GameObject, script its rotation, convert it to a Prefab, and instantiate collectibles around the play area.
- [Detecting Collisions with Collectibles](https://learn.unity.com/course/roll-a-ball/tutorial/detecting-collisions-with-collectibles-1?language=en&version=6.3) ([md](https://learn.unity.com/course/roll-a-ball/tutorial/detecting-collisions-with-collectibles-1.md?language=en&version=6.3)) — Update your PlayerController script and PickUp prefab setup so tagged collectibles disappear on trigger while using Rigidbody.
- [Displaying Score and Text](https://learn.unity.com/course/roll-a-ball/tutorial/displaying-score-and-text?language=en&version=6.3) ([md](https://learn.unity.com/course/roll-a-ball/tutorial/displaying-score-and-text.md?language=en&version=6.3)) — Update the PlayerController and UI Text elements to track collected pickups, show a count, and display an end-of-game message.
- [Adding AI Navigation](https://learn.unity.com/course/roll-a-ball/tutorial/adding-ai-navigation?language=en&version=6.3) ([md](https://learn.unity.com/course/roll-a-ball/tutorial/adding-ai-navigation.md?language=en&version=6.3)) — Set up a NavMesh with obstacles and script win and lose conditions to drive enemy AI and gameplay.
- [Building the Game](https://learn.unity.com/course/roll-a-ball/tutorial/building-the-game?language=en&version=6.3) ([md](https://learn.unity.com/course/roll-a-ball/tutorial/building-the-game.md?language=en&version=6.3))
