Unity3D składa się z silnika gry oraz (dość podstawowego) edytora 3D. Zapewnia siatki, tekstury, shadery, ukształtowanie terenu, kamery, animacje, układy cząstek, próbki audio i inne rodzaje obiektów, które są przydatne w grach wideo. Obejmuje PHYSX (zastrzeżony silnik fizyki należący do Nvidii) oraz Mono (implementacja Open Source Runtime Common Language, znanego również jako .NET).
Ile z tego wykorzystasz, zależy od ciebie. Możesz reprezentować wszystkie swoje struktury danych jako obiekty Unity, budować swój świat w edytorze Unity, włączać fizykę i pozwolić, aby wydarzenia potoczyły się przy minimum skryptu. Alternatywnie, możesz wyłączyć silnik fizyki, skonstruować swój algorytm algorytmicznie i jawnie zaprogramować całe zachowanie i fizykę obiektów.
Możesz zaprogramować zachowanie całkowicie w Mono (używając jednego z języków C #, JavaScript lub Boo), lub możesz napisać je w innym języku i połączyć z projektem Unity. (Rzeczywista integracja z obiektami gry musi odbywać się przez Mono, ale może to być dość cienka warstwa, jeśli chcesz).
Przepływ pracy jest prawie taki sam jak w przypadku dowolnego silnika gry. Artyści tworzą modele, tekstury i animacje, specjaliści audio wydają dźwięki, programiści piszą shadery i zachowania.
Społeczność programistów Unity jest bardzo pomocny, zarówno w answers.unity3d.com i forum.unity3d.com . (A może tutaj na Stack Exchange?)
Najlepszym sposobem, aby się tego dowiedzieć, jest wypróbowanie : wersja podstawowa jest bezpłatna, a dla wersji „Pro” masz 30-dniowy okres próbny.