Theory and Applications
of Virtual Reality
Lecture 5: Development in Unity 3D
DR. SYED IBRAHIM GHAZNAVI
Unity VS Unreal
Unity Unreal
Visuals Not as rich as High quality
Unreal visuals
Hardware - Less hardware - Requires a
requirements requirements powerful PC and
- It supports more high-speed
low-end platforms internet (usually)
Developer Developer friendly Designer friendly
Support for Readily has it With some
WebXR overhead
2
Why Unity?
- Extensive developer community and support
- Unity forums
- Oculus partnered with Unity to o er learning content
- More than half of all mobile games are built in Unity.
- More than 60 to 70 percent of everything built for VR, AR and XR platforms are
built in Unity
- All key XR platforms like Varjo, PicoNeo, Quest, and Vive o er development kits
interoperable with Unity.
- Massive assets on the asset store
- Works for Unity’s standard pipeline but check which assets work for URP or
HDRP.
3
ff
ff
Why Unity? (Continuation..)
- Easy to learn and use;
- Faster iteration time;
- Better cross-platform integration is available with Unity.;
- Unity engine has great support for both 2D games and 3D games;
- Many tools to reuse assets and code between projects;
- Prefab
- Modularity and package support.
- Packages for AR/VR.
4
Unity version
- Free download
- Unity is free for Premium version is individuals/companies with profits < $100 000
- Premium 15$/month
- free for students (share uni-card picture); access their online portal
- Version
- Some platforms and frameworks may require you to stick to a version of Unity
- LTS
- Always go for the LTS version. It provides a stable foundation for the projects
- Lab machines
- If you don’t have a machine, we will check what version runs well with the machines in the Lab, and
we will stick to it for this course. A few game-dev students reported using the 2020 (LTS) version in ITU
Labs.
- Project/Assignments/quizzes submitted with incorrect versions won’t be accepted.
5
Unity hub
6
Renderer pipeline
• HDRP has more realistic graphics, and it doesn’t offer compatibility with mobile
devices (mostly high-end devices).
• URP prioritizes compatibility with other devices and thus compromises on
graphics to some extent.
7
Version control (Plastic SCM)
8
Scripting in C#
9
Package manager
10
2D VS 3D objects
11
Unity working
- Scene consists of Game objects
- Game objects contain components
- Rigidbody, Collider, Par cle System, and Audio
- Together game objects with Components together make a scene (use
case)
- Camera
- Lights
- Primitive Shapes
- Assets
- Event system (if needed)
12
ti
Unity Overview
13
Hierarchy Window
14
Adding new GameObject to
Hierarchy
15
Project window
- New assets come here
- Drop here to create a prefab
16
Inspector window + Tool box Panel
- Transform is fixed for all components
- Can add/sub other components
17
Build settings
18
Player settings
19
Android API level and Splash
screen
20
Enabling VR in Unity
- XR plugin management
- Select Cardboard (low)
- Oculus (high-end)
21
VR Development Toolkits
22
MRTK
23
SteamVR
24
VRTK
25
Oculus SDK
- Player prefab: It has a camera, movement and jump, etc.
- OVR Camera: to include VR camera
- OVRHand: to include hand.
- Can change the configuration to enable hand tracking.
26
Unity Demo
27
Additional Unity tutorials
• Unity Interface Overview
◦ A rapid overview of the Unity interface. The video briefly explains the five main windows of
the unity editor and their purpose.
• Game Objects & Components
◦ Game Objects are the items that make up the scenes. All the props, the avatar, sounds,
lights, and the camera will be game objects with relevant components.
• The Scene View
◦ Most of the development and editing will be done in the scene view, so it is absolutely
essential that we understand it. There is a follow-up video on the game view have a look at
it.
• Coding in Unity for Beginners
◦ This video is a good guide for learning how scripts interact with game objects in Unity.
◦ Feel free to use the free props on the unity asset store to customize the environment.
28
Important announcements
-- Groups have been finalized?
-- Project Ideas discussion?
29