Unity 3D Game Development App

Unity 3D

by Unity Technologies

World’s largest game development platform
Helps with: Game Development
Similar to: Construct 2 App GameMaker Studio App Stencyl App playMaker App More...
Source Type: Closed
License Types:
Supported OS:
Languages: Java Script Other

What is it all about?

A game engine developed by Unity Technologies. It is being used to develop video games for PC, console devices, mobile devices and websites. It is the default software development kit for Wii.

Key Features

Unity allows specification of texture compression and resolution settings for each platform that the game engine supports, and provides support for bump mapping, reflection mapping, parallax mapping, screen space ambient occlusion (SSAO), dynamic shadows using shadow maps, render-to-texture and full-screen post-processing effects. Unity can import 3D models, animations and sprites from almost any application. Animate characters, objects, sprites, light intensity Create and edit animation clips directly inside Unity. Animate values of any component, material, or script and insert animation events to call script functions at specific times. Move seamlessly between animation states like running and walking with Blend Trees. Exert pinpoint control over the animation playback without the need for complex scripting. One shader provides amazing visual fidelity across high-end mobile, desktop and consoles. Get multithreaded simulation on platforms that support threads.


Pricing

Yearly
Monthly
Lifetime
Free
Freemium
Trial With Card
Trial No Card
By Quote

Description

Free for Personal Use
35.00 USD per month (PLUS Package)
125.00 USD per month (PRO Package)
By Quotation (Enterprise Package)

Alternatives

View More Alternatives

View Less Alternatives

Product Analysis

Game Development

Frameworks and cross platform libraries for game and graphics development

Unity

Unity

By Hugo Reyes | 8/17/2016 | Product Analysis |Beginners

Initially released in 2005 by Unity Technologies as an SDK for OS X only, Unity has expanded its horizons and currently has up to 21 platforms. There are many 3rd party SDKs for developing apps but when it comes to games Unity has secured its place as one of the most powerful while becoming the default SDK for the Wii U.

 

Many will define Unity as a GDK instead of an SDK but the truth of the matter is you can create apps other than games in Unity, although it is a bit unusual because Unity is optimized specifically for video games. With Unity you can develop games for up to 21 platforms at the same time with the same software, the supported platforms for Unity vary from time to time because they are continuously updating their software.

 

Unity Features

 

There are too many features to list them all in a simple review but we will try to list the most useful and well known:

 

The physics of the games in Unity can be coded with the built-in engines, the NVIDIA PhysX 3 and the Box2D Engine. They are both really good for the task.

 

Unity is probably the biggest player in the SDK scene when it comes to game portability. You do not actuallyhave to "port" your games from one platform to another in Unity. Instead, you develop your games in the Unity interface and then compile them to one platform or another—as simple as that. Of course there could be options used in one platform that can't be used in others and you may need to make modifications to the code so that the target platform understands what you are trying to do, but the whole idea is you don't need to have a middle code that ports the game from one to the other.  In Unity you can develop games for up to 21 platforms at the same time with the same software. The supported platforms for Unity at the time of this article include:  Windows, Mac, Linux/Steam OS, iOS, Android, Windows Phone 8, Windows Store, BlackBerry 10, Tizen, Xbox 360, Xbox One, PlayStation 3, PlayStation 4 and Morpheus, PlayStation Vita, Wii U, Unity Web Player, WebGL, Android TV, Samsung SMART TV, Oculus Rift and Gear VR.

 

Importing assets isn't a problem in Unity. You can import almost any kind of asset be it a picture, a 3D model, audio file, video file, text or whatever. Many of the graphics can be developed directly in Unity which can even animate them, but if you want to use other more powerful tools for that purpose, importing them to Unity is a very straightforward process.

 

There is a scripting language embedded in Unity but it isn't good at all because there are many limitations and in the end it is just a fake JS. However, the good news is you don't need to script in that language at all. Instead you can use C# or JS to do all your scripting work, and that's what most developers do. This adds another advantage to Unity, if you can code in C# or JS you don't need to go through the painful process of learning a new scripting language.

 

Pros and Cons of Unity:

 

PROS

 

Easiness to use: It is pretty easy to start using Unity. Even though mastering Unity is difficult and requires much time, starting with it is easy and rewarding because you can start developing small games in a matter of minutes or hours.

Ability to work in 3D and 2D: Unity is ready to work in 3D and 2D and it is as powerful for either of them.

Great scripting: Scripts in Unity are made in C#, Javascript or Boo so no need to learn a new scripting language if you can do it in real programming languages. Of course there is also a native language as well.

The collision detection is already built in, no need for any math.

Ability to port to most of the platforms available.

Ability to import any kind of assets.

Huge community and lots of tutorials both for coders and designers.

 

CONS

 

Quite heavy, takes a lot of space on the hard drive.

Although they have different pricing plans, if you need all features it is quite expensive.

Their own scripting language Unityscript is a dead end.

Networking system is not as good as the rest.

 

Getting Started with Unity

 

As it is quite usual in any beginner's guide, the first way to get started is to program a Hello World program.

 

First install Unity on your computer.

Create your first project.

Create a JavaScript asset in your project and name it HelloWorld.

Open it and type the following in the editor:

 

function Start()
{
print ("Hello, world");
}

 

Next, attach this JavaScript asset to a GameObject. Go to the menu and hit GameObject and then choose Create Empty.

Now you can just drag the HelloWorld script to the GameObject in the Hierarchy view and you are done.

 

To play your first program in Unity just choose the GameObject and click the play button.

 

We will now make a simple program using variables, this program only makes a simple multiplication using a variable:

#pragma strict
var myInt : int = 5;

 

This will define the variable and initialize it to 5. We could use any number as long as is an integer.

function Start ()
{
myInt = MultiplyByTwo(myInt);
Debug.Log (myInt);
}

This will declare the function we will use to make the multiplication using our variable.

function MultiplyByTwo (number : int) : int
{
var ret : int;
ret = number * 2;
return ret;
}

 

And this is our function, which will just make a multiplication of our variable by two.

 

Creating 3D assets in Unity and making them move is very easy as well, for example let's make a ball move:

 

using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
public float speed;
private Rigidbody rb;
}

 

We define the class and the object in the previous code.

void Start ()
{
rb = GetComponent<Rigidbody>();
}

We prepare it to be moved.

void FixedUpdate ()
{
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
rb.AddForce (movement * speed);
}

 

With the above code we make the ball (or whatever object) move by keyboard input. This is a 2D move so it can only move along the X and Y axes.

 

Making games with Unity is really easy and hassle-free, no wonder is the top choice by indie companies.

 

Conclusion

 

Unity is the perfect choice if you plan to design and code a decent looking game and publish it in many different platforms or even just one. It is also a good option for beginners because the UI is really intuitive and rewarding, easy to use and to get started with. The community around Unity is extensive and it is not difficult to find tutorials, manuals and eBooks. Their forums are very active and they are an excellent way to solve quick problems so new users can easily communicate with other users and share their doubts and projects. If you are a producer, Unity is also a good option because finding developers and coders for Unity is much easier than doing it for other SDKs.

 

By Hugo Reyes | 8/17/2016 | Product Analysis

{{CommentsModel.TotalCount}} Comments

Your Comment

{{CommentsModel.Message}}

Top DiscoverSDK Experts

User photo
1820
Shelley Beck
Game developer for 8 years now.
Mobile | Game Development
View Profile
User photo
1220
John Cole
Experienced Cross-Platform developer.
Mobile | Game Development and 2 more
View Profile
User photo
1130
Nikki Morrison
12 years of experience in game development.
Mobile | Game Development
View Profile
User photo
1130
Jesse Noiman
Experienced developer of Cross-Platform games and applications for mobile devices.
Mobile | Game Development and 1 more
View Profile
Show All

Interested in becoming a DiscoverSDK Expert? Learn more

X

Compare Products

Select up to three two products to compare by clicking on the compare icon () of each product.

{{compareToolModel.Error}}

Now comparing:

{{product.ProductName | createSubstring:25}} X
Compare Now