17. www.alter-native-media.com
Configure UE4
for Oculus Go
• Android Code Works Install
• Engine > Extras > Android folder
• CodeWorksforAndroid-1Rxx-
windows.exe file
• Follow prompts
• Install … and wait
• Restart machine
18. www.alter-native-media.com
Android Code Work for Macs*
• File folder:
/Users/Shared/Epic
Games/UE_4.23/Engine/Extras/AndroidWorks/Mac/CodeWorksForAn
droid-1R7u1-osx.dmg
• Install
• Restart machine (if required)
*Mac workarounds provided by Dan Gleeson
19. www.alter-native-media.com
Oculus Go
Setup
[overview]
• Mobile App
• Device Setup
• To join an existing organization:
• To create a new organization:
• App ID
• Enable Developer Mode
• Install the Oculus Go ADB Driver (Windows
only)
• Connect VR Device
• Setup Unreal Engine for Oculus Go
• Add Plugin
• Set VR Level
• Project Settings
Overview
21. www.alter-native-media.com
VR Device Setup
• Create developer org on Oculus Dashboard
• Create a new organization
• https://dashboard.oculus.com/organizatio
ns/create/
• Join an existing organization
• Note App ID
• Enable Developer Mode
1. Open the Oculus app on your mobile device.
2. In the Settings menu, select your Oculus Go
headset that you’re using for development.
3. Select More Settings.
4. Toggle Developer Mode on.
22. www.alter-native-media.com
Install the
Oculus Go ADB
Driver
(Windows only)
https://developer.oculus.com/downloads/
package/oculus-go-adb-drivers/
Download zip
Unzip
Right-click on the .inf file and select Install
23. www.alter-native-media.com
ABD for Macs*
• Check NVPACK/android-sdk-macosx/platform-tools
• If not there,
• https://developer.android.com/studio/releases/platform-tools.html
• select Download SDK Platform-Tools for Mac
• Save to a folder.
• Add the folder to your PATH variable.
• i.e., in ~/.profile add a line like this:
• export PATH="$PATH:/Users/[you]/Vendors/android/platform-tools"
*Mac workarounds provided by Dan Gleeson
29. www.alter-native-media.com
Launch the Unreal Project on the Oculus Go
• Android Debug Bridge - “ADB”
• Connect to a Device with adb
• Terminal/PowerShell > “adb devices”
• Connect adb via Wi-Fi
• Use handout instructions
40. www.alter-native-media.com
Projects
A Project is a self-contained unit that holds all the
content and code that make up an individual
game and coincides with a set of directories on
your disk.
41. www.alter-native-media.com
Templates
When you would like to jump into creating a particular type of
game, you can use a template to start your game off and get
right to implementing your gameplay ideas. Templates are
available in two versions: there is a C++ version if you are
comfortable working at that level, and there is a Blueprint
version which has the same behavior implemented in visual
script for fast iteration by designers and artists.
42. www.alter-native-media.com
Objects
The base building blocks in the Unreal Engine are
called Objects and contain a lot of the essential
"under the hood" functionality for your game
assets. Just about everything in Unreal Engine 4
inherits (or gets some functionality) from an Object.
43. www.alter-native-media.com
Classes
A Class defines the behaviors and properties of a
particular Actor or Object used in the creation of an
Unreal Engine game. Classes are hierarchical, meaning
a Class inherits information from its parent Classes (the
Classes it was derived or "sub-classed" from) and
passes that information to its children. Classes can be
created in C++ code or in Blueprints.
44. www.alter-native-media.com
Actors
An Actor is any object that can be placed into a level. Actors are a
generic Class that support 3D transformations such as
translation, rotation, and scale. Actors can be created (spawned)
and destroyed through gameplay code (C++ or Blueprints). In
C++, AActor is the base class of all Actors. There are several
different types of Actors, some examples include:
StaticMeshActor, CameraActor, and PlayerStartActor.
45. www.alter-native-media.com
Components
A Component is a piece of functionality that can be added to an Actor.
Components cannot exist by themselves, however when added to an Actor,
the Actor will have access to and can use functionality provided by the
Component.
For example, a Spot Light Component will allow your Actor to emit light like
a spot light, a Rotating Movement Component will make your Actor spin
around, or an Audio Component will make your Actor able to play sounds.
46. www.alter-native-media.com
Pawns
Pawns are a subclass of Actor and
serve as an in-game avatar or persona,
for example the characters in a game.
Pawns can be controlled by a player or
by the game's AI, in the form of non-
player characters (NPCs).
47. www.alter-native-media.com
Characters
A Character is a subclass of a
Pawn Actor that is intended to
be used as a player character.
The Character subclass
includes a collision setup,
input bindings for bipedal
movement, and additional
code for movement controlled
by the player.
48. www.alter-native-media.com
PlayerController
The PlayerController Class is used to
take player input and translate that
into interactions in the game and
every game has at least one
PlayerController in it. A
PlayerController often possesses a
Pawn or Character as a representation
of the player in a game.
49. www.alter-native-media.com
AIController
Just as the PlayerController possesses a Pawn as a
representation of the player in a game, an AIController
possesses a Pawn to represent a non-player character
(NPC) in a game. By default, Pawns and Characters will
end up with a base AIController unless they are
specifically possessed by a PlayerController or told not to
create an AIController for themselves.
50. www.alter-native-media.com
Levels
A Level is a user defined area of gameplay. Levels are
created, viewed, and modified mainly by placing,
transforming, and editing the properties of the Actors it
contains. In the Unreal Editor, each Level is saved as a
separate .umap file, which is also why you will
sometimes see them referred to as Maps.
51. www.alter-native-media.com
World
A World contains a list of Levels that are loaded. It handles the
streaming of Levels and the spawning (creation) of dynamic
Actors.
Direct interaction with a World is not necessary, but it does
help provide a specific reference point within the game
structure (ie: mentioning World directly means you are not
speaking about Levels, Maps or the game).
52. www.alter-native-media.com
Blueprints Visual Scripting
The Blueprints Visual Scripting system in Unreal Engine is a complete
gameplay scripting system based on the concept of using a node-based
interface to create gameplay elements from within Unreal Editor. As with
many common scripting languages, it is used to define object-oriented (OO)
classes or objects in the engine. As you use UE4, you'll often find that objects
defined using Blueprint are colloquially referred to as just "Blueprints."
This system is extremely flexible and powerful as it provides the ability for
designers to use virtually the full range of concepts and tools generally only
available to programmers. In addition, Blueprint-specific markup available in
Unreal Engine's C++ implementation enables programmers to create baseline
systems that can be extended by designers.
53. www.alter-native-media.com
Leveraging
Previous
Experience in
Unity
Category Unity Unreal (UE4)
Gameplay Types Component Component
GameObject Actor, Pawn
Prefab Blueprint Class
Editor UI Hierarchy Panel World Outliner
Inspector Details Panel
Project Browser Content Browser
Scene View Viewport
Meshes Mesh Static Mesh
Skinned Mesh Skeletal Mesh
Materials Shader Material, Material Editor
Material Material Instance
Effects Particle Effect Effect, Particle, Cascade
Shuriken Cascade
Game UI UI UMG (Unreal Motion Graphics)
Animation Animation Skeletal Animation System
Mecanim Persona , Animation Blueprint
2D Sprite Editor Paper2D
Programming C# C++
Script Blueprint
Physics Raycast Line Trace, Shape Trace
Rigid Body Collision, Physics
54. www.alter-native-media.com
Customizations & Edits
• Text
• Rudimentary grabbables
• Materials*
• Color
• Texture
• Triggers, buttons, other interactions
• Beyond scope, but build on new skills
*Require shaders/materials to recompile – adds time.
57. www.alter-native-media.com
Preview Content on a PC
https://developer.oculus.com/documentation/unreal/latest/concepts/unreal-ide-guide-go/
You may launch the Unreal Engine with a configuration option to use the Oculus Go plugin in conjunction
with the Mobile renderer on the PC. This allows you to preview mobile development from the desktop
using an Oculus Rift. To do so, disable OculusRift and SteamVR plugins for your project, and add -OpenGL
-FeatureLevelES2 to your command line.
Although it is possible to preview mobile applications in the Oculus Rift during development, it is not
generally useful to do so, because Rift applications are subject to substantially different performance
requirements (see “Performance Targets” in Oculus Go: Testing and Performance Analysis). You may find
it easiest to use the 2D preview in Unreal, and then either build an APK or use Launch on Device when
you need to view the app in VR.
Note: Mobile Content Scale Factor is not currently supported for Oculus development.