With so many game engine options available for both 2D and 3D game development, you might wonder why you should select Unity. The first release in 2005 introduced us to an excellent game engine that has been continually improved upon over the last decade with new features, support, and enhancements. With each new release, developers are presented with more functionality to help them develop stunning games.
Unity Technologies, the creators of Unity, is a well-established company dedicated to continual improvement of the game engine. As new processing technologies and platforms arise, Unity support will not be far behind. As with all Unity features, excellent official documentation accompanies all new functionality and features.
Being able to use a free version of the game engine without having to pay royalties is a game changer. Individuals, hobbyists, and small studios can make games using the same powerful game engine as large studios. In addition, the robust feature set and Unity community are additional factors that make Unity the right choice for your game development projects.
In this section, we will list the core features of the Unity game engine. We will explore them in detail in subsequent chapters. Unity can be used to develop applications for the following devices, which span consoles, desktops, mobile, AR, TV, VR, and the web:
- Android/Android TV
- Daydream
- Facebook Gameroom
- Fire OS
- Gear VR
- Google Cardboard
- iOS/tvOS
- Linux
- macOS
- Microsoft Hololens
- Nintendo 3DS/Nintendo Switch
- Oculus Rift
- PlayStation 4/PlayStation Vita/PlayStation VR
- Samsung SMART TV
- Steam OS/Steam VR
- Tizen
- WebGL
- Wii Universe (no longer supported in Unity 2018)
- Windows/Windows Phone/Windows Store Apps
- Xbox One
Unity's Editor is the main game engine interface, where you will spend most of your time. Here are the key features of the Unity Editor:
- Can be used on both Macs and Windows PCs
- 2D and 3D scene design tools
- Instant play mode
- Powerful animation tools
- Timeline tool for creating cinematic sequences
- Cinemachine tool for smart cameras
- Artificial Intelligence (AI) pathfinding tools
- Extensible—there are ample available plugins available
- Particle system
- Supports C# and JavaScript
- Supports single and multi-player games
- Includes collaborative tools
The graphics capabilities of the Unity game engine are impressive. We have the ability to create game objects natively in the game engine using geometry, meshes, textures, and materials. We can also use high-quality graphics imported from external, specialized software tools including Maya, 3DS Max, and Blender. Advanced lighting and shadow controls as well as the level of detail feature adds an important touch of realism to our games.
Key graphic features include:
- Real-time rendering
- Global illumination
- Physically-based shading
- Native graphics API for faster rendering
- Multiple lighting techniques
Unity has one of the most vibrant communities. Community members share content and help answer questions regarding developing with Unity. The community is heralded by Unity Technologies. In addition to official tutorials, you can find a host of blogs, tutorials, and videos to help you get started with Unity development, as well as learn how to accomplish specific operations with your game.
The Unity Asset Store includes free and for-fee assets from Unity Technologies and the Unity community. Available assets include models, art, animations, scripts, and tools. The Asset Store has an intuitive interface making finding what you need easy. We will explore the Asset Store in Chapter 6, Creating and Importing 3D Objects for Our Game.
Unity hosts periodic live events that allow you to learn about Unity directly from Unity Technologies and connect with fellow designers and developers. Unity Unite events are hosted in America, Asia, and Europe each year. You can learn about past and future Unite events here: https://unite.unity.com/.