# Overview

### What you'll build <a href="#what-youll-build" id="what-youll-build"></a>

In this codelab, you'll build a simple game using NRSDK. The goal of the game is to collect gem using a vehicle that you control using your controller.

However, this won't happen in an entirely virtual world! You'll mix physical atoms and digital bits to create a new type of player experience by creating a game that understands the environment around the player.

By the end of this tutorial, your game will be able to:

* Detect real-world planes and draw a playing field over it.
* Cast rays from controller and detect intersections with planes.

![](https://1774958057-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIM2VX8TwuOpFaP0UDa6i%2Fuploads%2FYHtvRRWLM2wuTCF2xMmw%2FRecord.gif?alt=media\&token=c5cfb734-4312-43f8-b44d-4375aae1c6ae)

### What you'll learn <a href="#what-youll-learn" id="what-youll-learn"></a>

* How to set up a project that uses NRSDK
* How to use `PlaneDetector`to subscribe to new planes.
* How to use `Raycast` to find intersections with virtual geometry

### What you'll need <a href="#what-youll-need" id="what-youll-need"></a>

Please refer to Step 1 to Step 5 in [Getting Started with NRSDK](https://xreal.gitbook.io/nrsdk/v2.1.0/nrsdk-fundamentals/quickstart-for-android) to get your environment ready for development.&#x20;
