Overview

Welcome to Core Interaction Programming, the first course in the Unity Certified Programmer Specialization from Unity Technologies.

This course will help you prepare for the Unity Certified Programmer exam, the professional certification for entry to mid-level Unity programmers. Unity is used to create real-time 3D applications for many industries, including video games, automotive, film, training, and more. In this course, you will be challenged to solve realistic Unity programming problems that are aligned to topics covered on the exam.

Throughout the first course, you will build the foundation for a 2D action video game: AsteraX. In doing so, you will practice many of the skills covered in the exam, including evaluating scripting needs from a project requirements document, implementing the three "C's" of an interactive applications (Character, Controls, Camera), providing user feedback through basic UI elements, and applying professional programming practices like developer testing.

This is an intermediate course, intended for people who are ready for their first paying roles as Unity programmers, or enthusiasts who would like to verify their skills against a professional standard. To succeed, you should have at least 1-2 years of experience programming interactive applications in Unity. You should be proficient at programming in the C# language and familiar with Unity's scripting APIs. You should have experience in the full product development lifecycle, from concept to launch (and beyond). And you should understand multi-platform development, including deploying applications to XR (AR and VR) platforms.

Syllabus

WEEK 1

Evaluating Project Requirements

For the first part of the course, you'll get an introduction to the course and its Challenge/Solution format, then launch right into planning out the code architecture for the AsteraX game project.

WEEK 2

Basic User Input and Object Management

This week, we'll begin implementing the basic application functionality that we planned the previous week. We'll give the user control over the ship, enable the firing of projectiles, and handle the tricky screen-wrap requirement. But first, we'll look at the importance of version control in professional projects, and Unity's version control solution, Collaborate.

WEEK 3

Spawning and Destroying Objects

Now that the ship is moving, it needs something to shoot at. This week, we'll implement the spawning of asteroids and enable their destruction when they are hit by projectiles from the ship. In addition, we'll go over some important practices and conventions that professional programmers use when working as a team: for example, writing code in a way that is readable and modular.

WEEK 4

Tracking and Displaying Application Data

With the ship and asteroids implemented, it's time to complete the core game functionality by creating a complete flow through the game (start, game over, restart), user progression features such as points and lives, and a simple User Interface to tie the whole thing together. But first, we'll review professional practices for developer testing and debugging.