When just starting out in game development, it is very common to want to jump right in to making your dream game. If you love your ideas, I would suggest waiting, at least for a bit. To do your game justice, first develop some skills. You can build these skills through repeated simple successes that lead to incrementally more challenging and rewarding goals. With this approach in mind, this project is an ideal starting point for beginners. We will cover a large variety of game topics like physics, handling user input, and even some scripting.
This project is developed using Unity version 2020.3. If you have not already installed Unity, and would like help, then follow along with this guide: install the unity hub and editor.
While I will make every effort to make this series available even to complete beginners, it will help if you have some basic knowledge of the editor, such as what is a hierarchy or inspector window. Follow along with this guide if you’d like to review: exploring the editor layout.
Create a new project
Although it is already slightly out of date, Unity also has a guide for creating a new project. The basics are the same even in newer versions of the Unity HUB.
- Open the Unity Hub
- Select the projects tab
- Click the “New Project” button
- Select the “2D Core” template
- Specify a Project name, such as “Breakout”
- If desired, specify the location for your project
- Click the “Create project” button
The project should now be created and then open in the Unity editor automatically. Note that this process can take a few moments to complete.
Take a look at the Project window that appears in the lower left of the Unity editor. You will see an “Assets” folder at the root, and a nested “Scenes” folder just inside of it. The “Scenes” folder also contains one item, the
“SampleScene” which should already be open. You can verify this because the currently open scene’s name will be displayed at the very top of the Unity editor window.
It isn’t strictly necessary to organize your project, especially for very small projects, but I recommend you start with a pattern of organization anyway. For the purposes of this project, we will use four different folders, one of which has already been created for us. You can make a folder very simply:
- Right-click the “Assets” folder in the Project window
- In the menu that appears, select “Create -> Folder”
- The folder will be created, and its name highlighted for editing. Type “Physics” for the first folder name.
- Repeat steps 1-3 two more times, to create folders for “Prefabs” and “Scripts”
In this project, we showed how to get started with the creation of a new game project inspired by Breakout. We learned how to install the Unity Hub and Unity Editor, reviewed the Unity Editor itself, and finally created and organized a new project that we will work within.
If you’d like you can also download the completed project for this lesson here.
If you find value in my blog, you can support its continued development by becoming my patron. Visit my Patreon page here. Thanks!
2 thoughts on “Breakout: Introduction”
I just wanted to say a big thanks for your tutorials. I started programming about 8 months ago and found your blog via a google search. Since I first found this blog I had in mind t o pick up one of your more complex project tutorials when my c# knowledge eventually would be good enough. Back then I immediately read your basic c# series and this also has been a valuable help to learn about some things and deepen my insight in others.
It was a very pleasant surprise today, as I saw you uploaded a whole new beginner series, as I was not sure if you’re still around and would post anything here. The Breakout Tutorial would have been fabulous as I started and even now I am happy to see it.
Your articles here are within the best free resources I know of just in terms of competency and if you’d have offered some paid course, I also gladly would have bought.
Thanks for all your hard work, dedication and wonderful tutorials. I enjoy them a great deal and just wanted to let you know how much your blog means to me.
Thank you for taking the time to let me know!