Augmented Reality, or AR, will transform how we see and interact with the world. And the hardware that makes AR possible is the smartphone that you may already have in your pocket. In this course, you'll learn how to develop your own mobile AR applications in Unity for iOS and Android devices. You'll learn about the features offered by Unity's AR Foundation, and about additional features in ARKit and ARCore.
Using the very latest techniques recommended by Unity engineers, you'll build a complete AR environment that you can continue to use after the course, while learning to apply best practices in user experience and interaction.
This is the last of three courses in Unity's XR Specialization, which includes an Introduction to XR course as well as a course focused on developing VR applications with Unity.
Note that, to complete this course, you will need a smartphone capable of running ARKit or ARCore. Compatible devices are listed in the links below:
The course also assumes that you already have experience developing applications with Unity and that you are comfortable with basic C# programming. It will also be helpful if you are familiar with building other types of apps to run on mobile devices.
Laying the AR Foundation with Unity's AR Foundation Package
This module will give the you a brief history of augmented reality technologies and introduce you to the concept of SLAM (Simultaneous Localization and Mapping). We'll show you an overview of the technologies used for Mobile AR tracking and the Unity components that are used to work with Mobile AR devices. In the project work, you will create a Unity AR project from scratch using the Unity AR Foundation package and wire up enough functionality to get it running on either an ARKit or ARCore compatible smartphone. The app will allow you to pan your smartphone around to see live video of your environment on the display.
Architecting AR Space - Pose Tracking and Environment Detections
In this module, you will learn how to interpret and visualize the information generated by the AR subsystem with regard to the real world geometry it has detected. In the project work, you will add trackable managers and visualizers to your scene so that you can see what the AR vision system is detecting and tracking.
Designing the UX in AR - Raycast, Light Estimation, Physics and Occlusion
In this module, you will learn how to use lighting estimation, in addition to the geometry generated by the AR system, to create realistic and immersive occlusion effects. You will also learn techniques that allow Unity physics objects to interact with the detected geometry through screen touches or physics. The result will be that the robot in the virtual scene will match the environment more realistically as the scene lighting is adjusted to correspond to measured lighting conditions. You will also be able to move the robot around using the touchscreen, and place the robot behind surfaces so that it’s partially occluded.
In this module, we will look at features of ARCore and ARKit that are not yet supported by AR Foundation. In our final lesson, we'll learn about AR design best practices recommended by Unity.