Essential Unity Concepts
In the first section that you previously read we went over some Unity concepts already. We will go over them in a bit more detail here as you’ve read previously where several of these might be used. Unity houses a very modular focus to the items that are housed within the game development environment.
Assets
Unity treats every file as an asset. This is from 3D Model, Texture file, sprite, particle system, and so on. In your project you will have an Assets folder as the base folder to house all of your in project items. This could be textures, 3D models, particles systems, materials, shaders, animations, sprites, and the list goes on. As we add more onto our project, the assets folder should be organized and ready to grow. It is strongly recommended to keep your folder structure organized so that you or your team aren’t wasting time trying to find that one texture item that was left in a random folder on accident.
Scenes
A scene houses all of the gameplay logic, game objects, cinematics, and everything else else which your game will be referencing to render or interact with.
Scenes are also used to cut up gameplay sections to bring down the load times. If you could imaging trying to load every single asset on a modern game every time you loaded it up. It would take way too much precious gaming time.
Game Objects
Most assets that are being referenced in a scene will be a GameObject (GO). There are some instances in which an assets can only be a component of a GO. The one common factor that you will see with all gameobjects is that they have the Transform component. Remembering back in the 3D Primer unity above we know that this is the world or local position, rotation, or scale of that game object. GO’s can have a long list of components connected to give functionality or data to be used in scripts for mechanics to grow.
Components
Game Objects have the ability to house multiple functionality attached as “components”. Each component has it’s own unique properties. The entire list of components you can add is fairly extensive as you can see in Figure 1.9 below:

Each of these sections has smaller subsections. We will go over quite a few of them throughout this book. When you add an asset to the scene hierarchy which may require components, Unity will add them by default. An example of this default action happening is when you drag a 3D mesh into the hierarchy, the gameobject will have a mesh renderer component attached to the object automatically.
Scripts
One component that is often used on game objects is scripts. This is where all of the logic and mechanics will be built onto your gameobjects. Whether you want to change the color, jump, change the time of day, collect an item, and so on, you will need to add that logic into a script on the object.
In Unity the primary language is C# (pronounced “C-Sharp”). This is a type strong programming language, meaning that there must be a type assigned to any variable that is being manipulated.
We will be using scripts in a multitude of ways and I know you are excited to get right into coding, but first we need to get into other Unity standard processes.
Prefabs
Utilizing the modular and strong object oriented nature of Unity, we can put together a grouping of items with default values set on their components which can be instanced in the scene at any time and house their own values.
To make a prefab, you drag a game object from the hierarchy in the scene to the asset browser. It will create a new prefab as well as turn that gameobject into the newly created prefab. It will also turn blue by default in the hierarchy as seen in Figure 1.10:

Packages
To take the modular components to a whole new level, Unity can take a package with all of it’s dependencies and export them out so you can bring them into other projects! Even better, you can sell your packages to other game developers from the Unity Asset Store!
Now that you have a solid foundation in 3D and Unity terms, let’s open it up and go over the interface itself. Next section will be a look into all of the most common interface pieces of Unity.