Features
An All-In-One Editor For Your Game
Unlike other game engines which come only in source code as a library that you link your game's
source code to, developing in Unity makes use of the Unity Editor program. Think of it as a level
editor as well as an object editor where you can edit values specific to your game, like player health,
enemy damage, and so on.
A Scripting Environment
While the Unity engine is coded in C++, you will code your game in the scripting environment that
Unity makes available using Mono, the open-source implementation of .NET. Code is created using
either C#, Unityscript (a language based on Javascript), or Boo (a language based on Python). All
scripts are compiled to native code and run nearly as fast as C++.
Streamlined Asset Pipeline
Unity supports all major file formats of images, including JPEG, PNG, and
even Photoshop files, eliminating the need to save your Photoshop images
into an intermediary file like PNG before it can be used by Unity.
The same goes for 3d models: Unity can recognize 3d Studio Max's .max
files, Maya's .mb files, Blender's .blend files, and more. In any case, Unity
can also make use of FBX files. When you change your 3d model, just save
your work and Unity will automatically detect the changes and update your
entire project.
For music, Unity supports .mp3, .ogg, .wav, .xm files, and more.
Unity can also make use of TrueType Fonts with Unicode support.
Shaders
Unity supports up to Shader Model 3 and can make use of either Cg
(NVIDIA's shading language) or GLSL (OpenGL's shading language). It also
has a scripting language for tweaking fixed-function shaders called
Shaderlab.
Physics
Unity makes use of NVIDIA PhysX to power its physics engine. Unity also
comes with systems to make physically realistic cars, ragdoll characters,
realistic cloth, etc.
Visual Effects
Unity has a built-in visual particle effects editor, and the Pro version comes
with more effects like motion blur, depth-of-field, realtime ambient occlusion,
realtime shadows, volumetric light (god rays), and more.
Networking (Multiplayer)
Unity allows you to turn your single-player game into a multiplayer game with its network library. The
network library is based off RakNet, and is meant only for a handful of players. MMO setups, on the
other hand, are possible through external 3rd
party server software.
With Mono, Unity supports .NET socket libraries, and can connect to ODBC connections. Unity also
allows an easy way to load/transfer data to and from HTTP.
Terrain
Unity makes use of heightmap terrains, with texture splatting, mass-placing of trees, grass, bushes
and other details. The terrain is deformable during run-time, for example, to make depressions on the
ground where artillery strikes hit.
Broad Publishing Support
Unity can be used to create video-games for the desktop (Windows and
Mac), mobile (iPhone, iPod touch, iPad and Android devices), in web
browsers, or on current-generation consoles (Wii, Xbox 360, Playstation
3).
GUI System
Unity has a built-in GUI system with support for
skinning, making use of cascading style-sheet
concepts for its layouts. A few caveats are the
fact that the current GUI system consumes too
much resources and that it has no visual editor.
Back
Next
Unlike other game engines which come only in source code as a library that you link your game's
source code to, developing in Unity makes use of the Unity Editor program. Think of it as a level
editor as well as an object editor where you can edit values specific to your game, like player health,
enemy damage, and so on.
A Scripting Environment
While the Unity engine is coded in C++, you will code your game in the scripting environment that
Unity makes available using Mono, the open-source implementation of .NET. Code is created using
either C#, Unityscript (a language based on Javascript), or Boo (a language based on Python). All
scripts are compiled to native code and run nearly as fast as C++.
Streamlined Asset Pipeline
Unity supports all major file formats of images, including JPEG, PNG, and
even Photoshop files, eliminating the need to save your Photoshop images
into an intermediary file like PNG before it can be used by Unity.
The same goes for 3d models: Unity can recognize 3d Studio Max's .max
files, Maya's .mb files, Blender's .blend files, and more. In any case, Unity
can also make use of FBX files. When you change your 3d model, just save
your work and Unity will automatically detect the changes and update your
entire project.
For music, Unity supports .mp3, .ogg, .wav, .xm files, and more.
Unity can also make use of TrueType Fonts with Unicode support.
Shaders
Unity supports up to Shader Model 3 and can make use of either Cg
(NVIDIA's shading language) or GLSL (OpenGL's shading language). It also
has a scripting language for tweaking fixed-function shaders called
Shaderlab.
Physics
Unity makes use of NVIDIA PhysX to power its physics engine. Unity also
comes with systems to make physically realistic cars, ragdoll characters,
realistic cloth, etc.
Visual Effects
Unity has a built-in visual particle effects editor, and the Pro version comes
with more effects like motion blur, depth-of-field, realtime ambient occlusion,
realtime shadows, volumetric light (god rays), and more.
Networking (Multiplayer)
Unity allows you to turn your single-player game into a multiplayer game with its network library. The
network library is based off RakNet, and is meant only for a handful of players. MMO setups, on the
other hand, are possible through external 3rd
party server software.
With Mono, Unity supports .NET socket libraries, and can connect to ODBC connections. Unity also
allows an easy way to load/transfer data to and from HTTP.
Terrain
Unity makes use of heightmap terrains, with texture splatting, mass-placing of trees, grass, bushes
and other details. The terrain is deformable during run-time, for example, to make depressions on the
ground where artillery strikes hit.
Broad Publishing Support
Unity can be used to create video-games for the desktop (Windows and
Mac), mobile (iPhone, iPod touch, iPad and Android devices), in web
browsers, or on current-generation consoles (Wii, Xbox 360, Playstation
3).
GUI System
Unity has a built-in GUI system with support for
skinning, making use of cascading style-sheet
concepts for its layouts. A few caveats are the
fact that the current GUI system consumes too
much resources and that it has no visual editor.
Back
Next