What is Unity? To put it simply, Unity is a development platform for video games. Of course, that basic description doesn’t touch the surface as to how Unity has become the most popular game engine in the world. To understand that, we should first consider the philosophy behind what makes a great game.

In 2005, Unity launched with the goal of providing a game engine that anyone could learn, use and contribute to. It has formed a community of developers with a passion for game development. The fact that developers contribute new objects and features to the community expands the possibilities for all Unity developers, designers, and artists.

The traditional view is that a game has winners and losers — think tennis matches or baseball games — but you can also think of video games as experiences. Seeing a film, a concert, or a play are experiences. Games and experiences have a start and end with a goal in mind. The goal for the player is not always to win. Taking a class to learn new information or a fun skill is also an experience. All of these are examples of how broad the term game can be. 

Complete C# Unity Game Developer 2D

Last Updated May 2021

  • 215 lectures
  • All Levels
4.7 (88,008)

Learn Unity in C# & Code Your First Seven 2D Video Games for Web, Mac & PC. The Tutorials Cover Tilemap (35 hours) | By Ben Tristem, GameDev.tv Team, Rick Davidson

Explore Course

The Montessori education method was introduced in the early 1900s by Maria Montessori. This idea of playing to learn has evolved and entered our collective consciousness for children and adults. We experience this approach with training sessions at work, ideas for new downtown development projects, and sales presentations. 

“Imagination does not become great until human beings, given the courage and the strength, use it to create.” — Maria Montessori

There are endless ideas on how the Montessori methods are still used in the workforce today.

Journey is one of the better-known experience games. Although its developers did not use Unity to create it, it is a wonderful example of a game experience you can achieve with Unity’s platform. Journey offers the opportunity to learn about the world and the user in it. It is a magical experience, and the game has won over 100 industry awards.

Let’s take some of these ideas and look at the development of games as an experience. We will explore Unity as a game and experience development platform. We can look at what Unity is and how it works. What tools does it offer the developer? Who is using it and how? These are just some of the questions we will discuss in this article. 

Person with head phones playing video game

What is a game engine, and how does it work?

Game engines, also called game frameworks, are special software that game developers use to create both 2D and 3D video games. As a game engine, Unity is a great platform for designing imaginary worlds, calculating physics for objects in these worlds to move, jump or collide, play sounds, and more. Developers also love game engines like Unity due to the fact they provide reusable code that every game would need. This means less time is spent rebuilding the wheel and more time creating exciting new content. 

Like most game engines, Unity has five components. The primary component is a program that contains the game logic, a rendering engine that generates 3D animated graphics. An audio engine component provides algorithms to create and manipulate sounds. For physical laws, a physics engine handles movement and collisions. For non-player actions and decisions, there is an Artificial Intelligence (AI) component.

Models to render graphics and light a world are readily available in game engines. Creating characters with physical behaviors is quickly achievable. These tools free developers and designers up to focus on logic and game flow.

This object-oriented and modular approach provides an opportunity for developers to contribute to the game engine product and share their “middleware” software. This software improves and adds features to the game engine. Middleware components deal with specific tasks. Consider the Wwise audio engine from Audiokinetic. Wwise is a feature-rich interactive audio solution used to centralize audio creation. In fact, a game experience can use Wwise to interact and alter the audio in the game! Or Physx contributed by Nvidia. This open-source physics engine improves calculation times with support for multi-threading. 

Unity used the concept of object-oriented programming to produce a game engine with a well-defined and extensible set of objects. Some of these objects target a specific industry, and others are more general. Users can mix and match objects with a variety of visual and physics attributes provided by Unity or created by the developer. 

Unity Features and Components

Unity includes a full set of features designed to help developers create, launch, and monetize games and experiences. 

2D and 3D Graphics

3D games make use of 3D geometry and make objects appear as solid environments with materials and textures. 3D games use a camera for perspective. Objects appear larger if they are closer to the camera. Orthographic 3D uses an orthographic camera instead of the default perspective. This gives the viewer a bird’s eye view of the action—like a map in street-view!

2D games use flat graphics and have no camera perspective at all. 2D experiences can use 3D graphics for depth and style. 

Physics

The physics engine in Unity allows the developer to ensure objects accelerate correctly. The physics engine handles object collisions, gravity, and other forces of nature. 

Unity provides two physics engines, with object-oriented physics being the default. These experiences run on a single thread and a single core. The data-oriented technology stack in Unity is newer. It is an internal architecture that is faster, lighter, and optimized for multi-threading.

Scripting

Scripting is an integral part of Unity. It is the C# code that responds to the user input. It manages the object hierarchy and arranges events so they happen when they should. Unity scripts create graphical effects and control the physical behavior of objects. Scripts control the AI system for characters in the experience. 

Audio and Video

Unity supports 3D special sound. It provides tools for mixing and mastering sound with predefined effects. The video component allows the user to integrate video into the experience.

Developers and artists can produce audio and visual fragments outside of Unity and integrate them into Unity game experiences.

Animation

You might hear some people refer to the Unity animation system as “Mecanim.” This is because it provides an easy workflow to define and set up features of the objects and characters to be animated.

Unity includes Humanoid Animation (HAnim). HAnim is an approved ISO and IEC standard specification for humanoid modeling and animation. You use it to define interchangeable human figures. Once defined, you can use these figures across different games. 

Artists and animators use preview mode to view their work before handing it off to developers to add gameplay code. Preview mode provides artists some independence from developers as clips, transitions, and interactions are tested and fine-tuned ahead of time.

Animating a character includes applying coded logic to body parts. You can apply a single animation script to different body parts. After that step, you’re able to apply that same script to many characters. This is convenient because you can reuse your animation code instead of spending time on unique pieces of code for each part. Clips developed inside and outside of Unity can merge and integrate into a single Unity game.

User Interface

Unity provides three options for developers to create content. 

Navigation and pathfinding

The navigation system allows developers to create characters that can move around the game world. Navigation meshes generate automatically thanks to the game Scene geometry. Off-mesh links allow actions like opening a door or jumping off a ledge. Dynamic obstacles trigger runtime character navigations.

Unity Services

Unity offers game developers a number of free and paid services. Let’s look at some of the more popular services.

Unity Ads is the most common way to earn money with a game. Billing points are accessible for completed views, clicks, and installations from ads. The biggest factor in how much money a game makes from ads is the number of players engaged in the game. 

The Unity Analytics Dashboard allows users to monitor the number of players engaged in their game. It also includes four tools for monitoring game usage. A Metric Monitor includes data on how players interact with the game. A Data Explorer provides a deep dive into use-cases with behavioral segments. A Funnel Analyzer displays player progress and where they get stuck. A Segment Builder allows the developer to create and monitor groups of players based on the player behavior patterns and game scenarios.

The Unity ArtEngine is a tool as a service offered by Unity. It is a fee-based add-on tool that helps developers create ultra-realistic materials using AI-assisted artistry. It automates photo conversion with physically based rendering (PBR) of different materials. 

Cloud Build is a continuous integration service offered by Unity. The service compiles, builds, and tests a game based on shared code in the source code directory. This is a free service offered to fee-based subscriptions to Unity Teams or Unity Pro.

Multiplayer is a fee-based service offered by Unity. It includes matchmaking and packet relay services to facilitate player turns.

BIM is a process used by architects to create digital representations of the physical and functional characteristics of a place. Architects and construction professionals use a wide array of software tools that support the BIM design process. Unity Reflect is a tool that imports digital images created with BIM process tools like Autodesk Revit and BIM 360. 3D experiences, sometimes using AR and VR, are made with Reflect. The Reflect experiences can be used in the design analysis process and to showcase designs to stakeholders.

Extended Reality (XR)

XR is an umbrella term that includes Virtual Reality (VR), Augmented Reality (AR), and Mixed Reality (MR). With VR, the experience simulates an environment completely different from the environment of the user. AR layers content over a digital view of the real world. MR combines the game environment with the user’s real-world environment and allows them to interact with each other.

For more information on these topics, refer to our Unity Beginner tutorial.

Learning Unity

Unity is considered one of the easiest pathways to learning programming.  

Unity development uses C#, which is a high-level language that is easy to read – even for non-programmers. Most of the complex tasks are abstracted away, so the programmer does not have to worry about them. 

Bolt is a visual programming tool included with Unity. It allows developers to create C# code for games without programming.

Some of the most popular online programs to learn Unity are on Udemy. There are courses for beginner and experienced developers. These programs are highly rated and have hundreds of reviews.

For beginner developers, the Udemy courses include well-rounded sections and lectures on C# programming. You’ll learn the fundamentals of game design and the concepts of object-oriented programming. This approach to learning Unity goes above and beyond, providing students with skills that are readily transferable to learning other languages.

The tools available online encourage a positive attitude to problem-solve with game development and programming!

Example Hello World Unity3D in C#

usingUnityEngine;
usingSystem.Collections;
public class HelloWorld : MonoBehaviour
{
// The message variable will display and initialize "Hello World!"
public string message = "Hello World!";
// Unity specific code will display GUI widgets
voidOnGUI()
{
GUILayout.Label(message);
}
}

To run this code, you must add it to your game object. This code then displays the “Hello World!” message on screen.

Creating and Running the Code:

•       Create folder in the project view and name it “Hello_world”

•       Create the script in the “Hello_world” folder and name it “Operation”

•       Attach the script to the game object

•       Inside the Operation, add the script or code.

•       Run the example to see the output

Unity Adoption in the Real World

Unity groups their client business lines by industry. The top industries targeted by Unity include games for consoles, PCs, mobile, and VR devices; architecture, engineering, and construction; automotive, transportation, and manufacturing; film, animation, and cinema; and education.

The Made with Unity site showcases customer stories by people all over the world using Unity to develop games. They are a joy to read for developers, artists, and designers, as well as sales and marketing teams. Understanding other people’s experiences is an underrated way to enrich your own experience. 

While Unreal is a viable alternative, it’s safe to say that no companies have technology as expansive as Unity. As the world’s leading game engine, studios and developers use Unity to create 2D and 3D video games that reach 770 million users. 

Unity partnered with Android and Apple developers to create better mobile AR experiences. In 2017, Unity worked with Google on its ARCore Launch for Android devices. ARCore also allowed developers to add AR to existing Android apps to drive user engagement and revenue growth. With Apple, Unity helped launch ARKit, enabling developers to create AR content for iOS devices.

Unity launched Unity Machine Learning Agents in 2017. This open-source software links Unity to machine learning programs like Google’s TensorFlow. Through trial and error, non-playable characters will develop better strategies than a human could using deep reinforcement learning. This technology is being applied not only to games but to real-life robots and self-driving cars.

Unity can now model real-world physics with extreme precision. From the interplay of light and landscape to the friction between a rubber tire and concrete road, games provide virtual environments that are accurate enough to train a real-world robot.

As of 2018, Unity supported over 25 different platforms. As much as 50% of games on the market are Unity-based, and 60% of all AR and VR content stems from the Unity platform. This includes Pokémon Go, Facebook Spaces, Superhot VR, and VT art tools like Quill and Tilt Brush. An estimated 90% of emerging augmented reality platforms such as Microsoft HoloLens and Samsung Gear VR content is on Unity.

Unity expanded the 3D developer toolkit in 2018 to include new industries like architecture, film, and automotive. This allowed Lexus to replace its clay-modeling process with Unity to render the LC 500 sedan. Visual-effects technicians used Unity to view virtual environments while producing Spheres. The ability to adjust visuals during production contributed to a significant decrease in post-production costs. In 2018, Unity won a Technology and Engineering Emmy for the animation series Baymax Dreams. 

In 2020, Unity launched a new XR Plugin System. Seven platforms supported with XR include Apple’s ARKit, Google’s ARCore, Microsoft’s HoloLens and WMR, Magic Leap, Oculus, and PlayStation VR. Unity continues to work with the companies on deep integration, improvements, and optimization of these platforms.

Conclusion

The availability of so many games and game engines can sometimes create the misconception that creating a game is easy. In fact, there is no magic button. Developing video games and visual experiences is a profession, and many people have a real passion for it.

Unity does not build games — they create a game engine for your games. As a free product with extensive training and tools, Unity is a platform for everyone. Unity actively encourages and seeks out partners to offer support and educational classes for the community. With free hosted sites open to developers to share their code, ideas, and expertise, Unity is actively encouraging cross idea sharing and generation within the community. The number of people around the world joining Unity and creating new experiences in Unity grows every day.

Top courses in Unity

Unity Game Developer Masterclass 2021 (2D, 3D and FPS)
Denis Panjuta, Tutorials.eu by Denis Panjuta
4.7 (182)
Unity Dialogue & Quests: Intermediate C# Game Coding
Sam Pattuzzi, Rick Davidson, GameDev.tv Team
4.8 (412)
Unity Multiplayer: Intermediate C# Coding & Networking
GameDev.tv Team, Rick Davidson, Nathan Farrer (aka Dapper Dino)
4.4 (1,130)
Complete C# Unity Game Developer 3D
Ben Tristem, Rick Davidson, GameDev.tv Team
4.7 (29,627)
Bestseller
RPG Core Combat Creator: Learn Intermediate Unity C# Coding
Ben Tristem, Rick Davidson, Sam Pattuzzi, GameDev.tv Team
4.7 (9,049)
Highest Rated
Shader Development from Scratch for Unity with Cg
Penny de Byl, Penny @Holistic3D.com
4.7 (2,755)
Bolt Visual Scripting in Unity
Wilmer Lin
4.8 (207)

More Unity Courses

Unity students also learn

Empower your team. Lead the industry.

Get a subscription to a library of online courses and digital learning tools for your organization with Udemy for Business.

Request a demo