SlideShare a Scribd company logo
#UE4
Best Practices and Lessons
for Unreal Engine 4 and VR in the
Classroom
Nick Whiting
Lead Engineer, VR and Visual Scripting
Epic Games
#UE4
Epic has had many academic collaborations, and
over the past year, but this talk will focus on
lessons learned from VR-centric courses:
Stanford University
CS210: Software Project Experience
CS211: Content Creation in Virtual Reality
#UE4
Stanford University
CS210:
Software Project Experience
Senior projects course, where students
pick a problem from a set of corporate
partners, and work with them to deliver
a product at the end of the course.
#UE4
Stanford University
CS211:
Content Creation in Virtual
Reality
Students build up a small VR
project, which culminates with a
final assignment that involves
making a multiplayer, shared virtual
experience.
#UE4
My Educational Qualifications:
#UE4
My Educational Qualifications:
● Went to university
#UE4
My Educational Qualifications:
● Went to university
● …
#UE4
My Educational Qualifications:
● Went to university
● …
● ...
#UE4
My Educational Qualifications:
● (Completely unqualified to teach anybody much of
anything)
#UE4
My Educational Qualifications:
● (Completely unqualified to teach anybody much of
anything)
Time for some on the job training! Along the way, I
picked up a few lessons that might be helpful to others.
#UE4
Lesson 1:
Students can explore problems that aren’t
immediate business needs
#UE4
Lesson 1: Exploration
Virtual Reality has been an area of focus at Epic, but
keeping up is (several) full time jobs.
● Platform support
● Making the technical challenges of VR invisible
from the user, so they can focus on the experience
#UE4
Lesson 1: Exploration
One thing we’ve learned is that VR development is all
about trying…
...and repeatedly failing.
#UE4
Lesson 1: Exploration
We need a way to rapidly try out diverse ideas, and
identifying the successful concepts.
Ideal problem for investigation has multiple possible
solutions that may pan out, but we expect some will be
more successful than others.
#UE4
Lesson 1: Exploration
Problem: How do we adapt the editor for VR?
#UE4
Lesson 1: Exploration
The editor is fertile ground for ideas! But, there are a
lot of unexplored problems for us:
● How do you interact with objects in VR?
● What do controls look like?
● How do you translate UI to VR?
#UE4
Lesson 1: Exploration
Define and constrain the problem:
Investigate ways to “graybox” levels without taking off
the VR headset.
Workflows:
● Placing of new shapes in the editor
● Manipulating those shapes
● Moving around the world
#UE4
Lesson 1: Exploration
Two teams rose to the challenge:
Karaage Jarvis
#UE4
Team Karaage’s Approach:
● Focus on novel hardware devices
● Refine the interactions with those specific devices
● Haptic feedback
Lesson 1: Exploration
#UE4
Team Karaage:
Lesson 1: Exploration
#UE4
Key Findings:
● The importance of haptic feedback
○ Made interactions much more natural
● Movement with a 3D mouse
● Experimentation with new UI layouts
○ Ring of options
Lesson 1: Exploration
#UE4
Team Jarvis’ Approach:
● Focus on motion controllers
● Manipulation of pre-placed meshes, and limited
content browser support
● Study the methods of interaction with those objects
Lesson 1: Exploration
#UE4
Team Jarvis:
Lesson 1: Exploration
#UE4
Key Findings:
● Interactions with the world through motion controls
○ Lots of similarities to smartphone gestures
● Voice is a viable option!
● Importance of context in control scheme
Lesson 1: Exploration
#UE4
Conclusions:
These students took unexpectedly different
approaches, based on their interest and experiences.
They tried things that we didn’t think of, and couldn’t
afford the time to try.
They were quick to give back to the community!
Lesson 1: Exploration
#UE4
Conclusions:
Need to be sure to frame the questions very
specifically, and limit the scope of the problem.
Guide early, guide often!
Make sure the students don’t fear failure. We want
bold, risky ideas!
Lesson 1: Exploration
#UE4
Lesson 2:
Innovation comes from both sides of the
partnership
#UE4
Lesson 2: Innovation
What if instead of teaching computer science students
to use UE4, UE4 taught people computer science?
Programming is a hard skill to learn:
● Lots of syntax to learn
● Typos can cause failure
● Specifics of the language often get in the way of
understanding the core concepts
#UE4
Lesson 2: Innovation
The problems learning programming are very similar to
problems we face in game development.
In order to democratize game development, we had to
teach non-programmers some fundamentals of
programming. Our goal was to help people help
themselves...
#UE4
Lesson 2: Innovation
Enter Blueprints...
#UE4
Lesson 2: Innovation
Design Goals of Blueprints:
● Nobody should be stuck waiting for a programmer
● Allow non-programmers to do things programmers
would normally do
○ Create gameplay, tweak systems, prototype
● Blueprints should be contextual, to help users learn
● Forgiving! No typos...
“If you can make a flowchart, you can make a Blueprint”
#UE4
Lesson 2: Innovation
Design Goals of Blueprints:
The Ultimate Goal:
Blueprints should be a language that both
programmers and non-programmers can understand.
#UE4
Lesson 2: Innovation
“When I touch the trigger, play a sound at the Horn,
and then open the door.”
#UE4
Lesson 2: Innovation
From these small, simple building blocks of logic, you
can evolve very complex behaviours.
“When I press A, I want to jump.”
“When I press B, I want to attack.”
“When the sword touches me, I want to lose health”
None of these parts are complex, but when you put
them all together, you can make a full game...
#UE4
Lesson 2: Innovation
#UE4
Lesson 2: Innovation
What does this help student projects groups do?
● Multidisciplinary groups. Not everyone has to be a
programmer! Designers, artists, and others can
work together
● Fail faster!
● Share their work with a much broader audience
#UE4
Lesson 2: Innovation
Take a step back…
How else might visual programming be useful?
#UE4
Lesson 2: Innovation
Fundamentals of Computer Science / Engineering:
● Breaking down problems into manageable parts
● Recognizing Patterns
● Creating solutions for those components
● Putting those simple solutions back together
#UE4
Lesson 2: Innovation
Traditional Programming Education:
● Typos hurt!
● Large toolchain, with a slow turnaround
● Inconsistent documentation and toolset make it
hard to discover
● Obtuse debugging tools
● Translation is an issue (algorithm to code)
#UE4
Lesson 2: Innovation
Could visual programming be a friendlier intro?
● You can make logic errors, but not “typos”
● Highly contextual searching helps you stumble your
way to what you want
● Great for visual learners
○ You don’t have to know exactly what to type to
get it to do something
● Instant (and often fun!) feedback
● Focus on the learning of the fundamentals, not the
specifics of the language
#UE4
Lesson 3:
Different Worlds
#UE4
Lesson 3: Different Worlds
Business and academics have very different sets of
priorities, and we’ve seen how we can use that to our
advantage.
In other areas though, the metrics we use and the
metrics the students use might not be so aligned...
#UE4
Lesson 3: Different Worlds
Metrics of Success:
Scoping
For us, we scope conservatively, and are very focused
on a well-defined problem
For students, it’s tempting to solve all the problems at
once!
#UE4
Lesson 3: Different Worlds
Metrics of Success:
The Allure of Sexy Solutions
For us, we’re often skeptical of sexy solutions
For students, playing with new toys is a lot of fun!
#UE4
Lesson 3: Different Worlds
Metrics of Success:
Failure
For us, failure is a constant on the path to discovery,
especially with emerging technologies like VR.
For students, “fail” is a scary word!
#UE4
Lesson 3: Different Worlds
Documentation:
With games, we want the fastest path from download
to making games possible!
● Focus is on samples, and explanations of how to
adapt that content
● Documentation focuses on the “how” questions
○ How do I set up a player?
○ How do I make a sign flash?
#UE4
Lesson 3: Different Worlds
Documentation:
With education, we want to understand what we’re
doing as deeply as possible.
● Focus is on understanding the complex systems
● Usually want to tear apart or replace systems,
instead of adapting them
● Often want documentation on things game
developers rarely modify
#UE4
Lesson 3: Different Worlds
Documentation:
Fortunately, students are often willing to contribute
back!
#UE4
Extra Credit:
Invest in Ambassadors!
#UE4
Extra Credit: Ambassadors
As much as we’d like to be everywhere and help
everyone, there are only 24 hours in a day.
At Stanford for CS210 alone, there were five groups
using UE4, including the two we were directly
mentoring.
We needed help!
#UE4
Extra Credit: Ambassadors!
Enter Noam Ben-Avi and Jack Reidy!
In addition to helping develop the CS211 course, they
also helped every UE4 team at the fair.
The hours we spent with them helping them out (it
wasn’t a lot!) was a huge force multiplier. We couldn’t
have done it without them!
#UE4
Extra Credit: Ambassadors!
Their course is now becoming available online:
http://www.layoutvr.com
#UE4
Thanks!
Special thanks to:
Luis Cataldi (Epic Games)
Jay Borenstein (Stanford / Facebook)
Noam Ben-Avi (Stanford)
Jack Reidy (Stanford)
Kelvin Sung (University of Washington)
Contact:
nick.whiting@epicgames.com

More Related Content

PDF
Luis cataldi unreal engine for educators
PPTX
Luis cataldi-siggraph 2015
PPTX
Luis Catald IGDA Sept 2015
PDF
#ISTE2016 Teach any subjects by making apps
PDF
Best presentation tool
PPTX
Intro to unreal with framework and vr
PPTX
Making VR games and experiences in Unreal Engine
PPTX
Luis cataldi-ue4-vr-best-practices2
Luis cataldi unreal engine for educators
Luis cataldi-siggraph 2015
Luis Catald IGDA Sept 2015
#ISTE2016 Teach any subjects by making apps
Best presentation tool
Intro to unreal with framework and vr
Making VR games and experiences in Unreal Engine
Luis cataldi-ue4-vr-best-practices2

Viewers also liked (12)

PPTX
Kim libreri-siggraph 2015
PPTX
Intro to VR with Unreal Engine
PPTX
Making VR with Unreal Engine Luis Cataldi
PPTX
PDF
Intro to Unreal Engine 4
PDF
Alexey Savchenko, Unreal Engine
PPT
Unreal conference slides
PPTX
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
PDF
Unreal Engine 4 Introduction
PPTX
Making VR Games and Experiences in UE4
PDF
Building AR and VR Experiences
PDF
COMP 4010 - Lecture 1: Introduction to Virtual Reality
Kim libreri-siggraph 2015
Intro to VR with Unreal Engine
Making VR with Unreal Engine Luis Cataldi
Intro to Unreal Engine 4
Alexey Savchenko, Unreal Engine
Unreal conference slides
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
Unreal Engine 4 Introduction
Making VR Games and Experiences in UE4
Building AR and VR Experiences
COMP 4010 - Lecture 1: Introduction to Virtual Reality
Ad

Similar to Ue4 siggraph-nick-whiting (20)

PPTX
Codesters
KEY
Games Design 2 - Lecture 18 - Revision
PPT
PhD outline presentation 071211
PPTX
Emdug click & clack ace presentation
PDF
Project udir
PDF
Udir final
PPT
The NXT Step - Assessing with Lego Robots
PDF
Future Ready Mindset through Design Thinking
PPTX
Free iOS apps for education
PDF
Teach colleagues accessibility - CSUN ATC 2018
PPTX
Teaching Kids Programming Using the Intentional Method
PPTX
Week 1: eLearning Course Basics - Why program?
PDF
ICT tool in primary level
PDF
User Experience 1: What is User Experience?
PDF
Lego Build Ideas for Classroom
PDF
David Cuartielles and Tony Olsson - Going Physical (K3 research seminar)
PDF
Cartagena 5 day bootcamp on Meeting Architecture general presentation
PPTX
Mega edtech tool Share - Vicki Davis #iste17
PDF
uAdventure simplifying narrative serious games development - icalt 2019 (1)
PDF
Videogame Design and Programming - Course organization
Codesters
Games Design 2 - Lecture 18 - Revision
PhD outline presentation 071211
Emdug click & clack ace presentation
Project udir
Udir final
The NXT Step - Assessing with Lego Robots
Future Ready Mindset through Design Thinking
Free iOS apps for education
Teach colleagues accessibility - CSUN ATC 2018
Teaching Kids Programming Using the Intentional Method
Week 1: eLearning Course Basics - Why program?
ICT tool in primary level
User Experience 1: What is User Experience?
Lego Build Ideas for Classroom
David Cuartielles and Tony Olsson - Going Physical (K3 research seminar)
Cartagena 5 day bootcamp on Meeting Architecture general presentation
Mega edtech tool Share - Vicki Davis #iste17
uAdventure simplifying narrative serious games development - icalt 2019 (1)
Videogame Design and Programming - Course organization
Ad

Recently uploaded (20)

PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Sports Quiz easy sports quiz sports quiz
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Classroom Observation Tools for Teachers
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
GDM (1) (1).pptx small presentation for students
PDF
RMMM.pdf make it easy to upload and study
PPTX
master seminar digital applications in india
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Pre independence Education in Inndia.pdf
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
O7-L3 Supply Chain Operations - ICLT Program
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Sports Quiz easy sports quiz sports quiz
O5-L3 Freight Transport Ops (International) V1.pdf
Classroom Observation Tools for Teachers
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
GDM (1) (1).pptx small presentation for students
RMMM.pdf make it easy to upload and study
master seminar digital applications in india
102 student loan defaulters named and shamed – Is someone you know on the list?
STATICS OF THE RIGID BODIES Hibbelers.pdf
Pre independence Education in Inndia.pdf
Supply Chain Operations Speaking Notes -ICLT Program
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx

Ue4 siggraph-nick-whiting

  • 1. #UE4 Best Practices and Lessons for Unreal Engine 4 and VR in the Classroom Nick Whiting Lead Engineer, VR and Visual Scripting Epic Games
  • 2. #UE4 Epic has had many academic collaborations, and over the past year, but this talk will focus on lessons learned from VR-centric courses: Stanford University CS210: Software Project Experience CS211: Content Creation in Virtual Reality
  • 3. #UE4 Stanford University CS210: Software Project Experience Senior projects course, where students pick a problem from a set of corporate partners, and work with them to deliver a product at the end of the course.
  • 4. #UE4 Stanford University CS211: Content Creation in Virtual Reality Students build up a small VR project, which culminates with a final assignment that involves making a multiplayer, shared virtual experience.
  • 7. #UE4 My Educational Qualifications: ● Went to university ● …
  • 8. #UE4 My Educational Qualifications: ● Went to university ● … ● ...
  • 9. #UE4 My Educational Qualifications: ● (Completely unqualified to teach anybody much of anything)
  • 10. #UE4 My Educational Qualifications: ● (Completely unqualified to teach anybody much of anything) Time for some on the job training! Along the way, I picked up a few lessons that might be helpful to others.
  • 11. #UE4 Lesson 1: Students can explore problems that aren’t immediate business needs
  • 12. #UE4 Lesson 1: Exploration Virtual Reality has been an area of focus at Epic, but keeping up is (several) full time jobs. ● Platform support ● Making the technical challenges of VR invisible from the user, so they can focus on the experience
  • 13. #UE4 Lesson 1: Exploration One thing we’ve learned is that VR development is all about trying… ...and repeatedly failing.
  • 14. #UE4 Lesson 1: Exploration We need a way to rapidly try out diverse ideas, and identifying the successful concepts. Ideal problem for investigation has multiple possible solutions that may pan out, but we expect some will be more successful than others.
  • 15. #UE4 Lesson 1: Exploration Problem: How do we adapt the editor for VR?
  • 16. #UE4 Lesson 1: Exploration The editor is fertile ground for ideas! But, there are a lot of unexplored problems for us: ● How do you interact with objects in VR? ● What do controls look like? ● How do you translate UI to VR?
  • 17. #UE4 Lesson 1: Exploration Define and constrain the problem: Investigate ways to “graybox” levels without taking off the VR headset. Workflows: ● Placing of new shapes in the editor ● Manipulating those shapes ● Moving around the world
  • 18. #UE4 Lesson 1: Exploration Two teams rose to the challenge: Karaage Jarvis
  • 19. #UE4 Team Karaage’s Approach: ● Focus on novel hardware devices ● Refine the interactions with those specific devices ● Haptic feedback Lesson 1: Exploration
  • 21. #UE4 Key Findings: ● The importance of haptic feedback ○ Made interactions much more natural ● Movement with a 3D mouse ● Experimentation with new UI layouts ○ Ring of options Lesson 1: Exploration
  • 22. #UE4 Team Jarvis’ Approach: ● Focus on motion controllers ● Manipulation of pre-placed meshes, and limited content browser support ● Study the methods of interaction with those objects Lesson 1: Exploration
  • 24. #UE4 Key Findings: ● Interactions with the world through motion controls ○ Lots of similarities to smartphone gestures ● Voice is a viable option! ● Importance of context in control scheme Lesson 1: Exploration
  • 25. #UE4 Conclusions: These students took unexpectedly different approaches, based on their interest and experiences. They tried things that we didn’t think of, and couldn’t afford the time to try. They were quick to give back to the community! Lesson 1: Exploration
  • 26. #UE4 Conclusions: Need to be sure to frame the questions very specifically, and limit the scope of the problem. Guide early, guide often! Make sure the students don’t fear failure. We want bold, risky ideas! Lesson 1: Exploration
  • 27. #UE4 Lesson 2: Innovation comes from both sides of the partnership
  • 28. #UE4 Lesson 2: Innovation What if instead of teaching computer science students to use UE4, UE4 taught people computer science? Programming is a hard skill to learn: ● Lots of syntax to learn ● Typos can cause failure ● Specifics of the language often get in the way of understanding the core concepts
  • 29. #UE4 Lesson 2: Innovation The problems learning programming are very similar to problems we face in game development. In order to democratize game development, we had to teach non-programmers some fundamentals of programming. Our goal was to help people help themselves...
  • 31. #UE4 Lesson 2: Innovation Design Goals of Blueprints: ● Nobody should be stuck waiting for a programmer ● Allow non-programmers to do things programmers would normally do ○ Create gameplay, tweak systems, prototype ● Blueprints should be contextual, to help users learn ● Forgiving! No typos... “If you can make a flowchart, you can make a Blueprint”
  • 32. #UE4 Lesson 2: Innovation Design Goals of Blueprints: The Ultimate Goal: Blueprints should be a language that both programmers and non-programmers can understand.
  • 33. #UE4 Lesson 2: Innovation “When I touch the trigger, play a sound at the Horn, and then open the door.”
  • 34. #UE4 Lesson 2: Innovation From these small, simple building blocks of logic, you can evolve very complex behaviours. “When I press A, I want to jump.” “When I press B, I want to attack.” “When the sword touches me, I want to lose health” None of these parts are complex, but when you put them all together, you can make a full game...
  • 36. #UE4 Lesson 2: Innovation What does this help student projects groups do? ● Multidisciplinary groups. Not everyone has to be a programmer! Designers, artists, and others can work together ● Fail faster! ● Share their work with a much broader audience
  • 37. #UE4 Lesson 2: Innovation Take a step back… How else might visual programming be useful?
  • 38. #UE4 Lesson 2: Innovation Fundamentals of Computer Science / Engineering: ● Breaking down problems into manageable parts ● Recognizing Patterns ● Creating solutions for those components ● Putting those simple solutions back together
  • 39. #UE4 Lesson 2: Innovation Traditional Programming Education: ● Typos hurt! ● Large toolchain, with a slow turnaround ● Inconsistent documentation and toolset make it hard to discover ● Obtuse debugging tools ● Translation is an issue (algorithm to code)
  • 40. #UE4 Lesson 2: Innovation Could visual programming be a friendlier intro? ● You can make logic errors, but not “typos” ● Highly contextual searching helps you stumble your way to what you want ● Great for visual learners ○ You don’t have to know exactly what to type to get it to do something ● Instant (and often fun!) feedback ● Focus on the learning of the fundamentals, not the specifics of the language
  • 42. #UE4 Lesson 3: Different Worlds Business and academics have very different sets of priorities, and we’ve seen how we can use that to our advantage. In other areas though, the metrics we use and the metrics the students use might not be so aligned...
  • 43. #UE4 Lesson 3: Different Worlds Metrics of Success: Scoping For us, we scope conservatively, and are very focused on a well-defined problem For students, it’s tempting to solve all the problems at once!
  • 44. #UE4 Lesson 3: Different Worlds Metrics of Success: The Allure of Sexy Solutions For us, we’re often skeptical of sexy solutions For students, playing with new toys is a lot of fun!
  • 45. #UE4 Lesson 3: Different Worlds Metrics of Success: Failure For us, failure is a constant on the path to discovery, especially with emerging technologies like VR. For students, “fail” is a scary word!
  • 46. #UE4 Lesson 3: Different Worlds Documentation: With games, we want the fastest path from download to making games possible! ● Focus is on samples, and explanations of how to adapt that content ● Documentation focuses on the “how” questions ○ How do I set up a player? ○ How do I make a sign flash?
  • 47. #UE4 Lesson 3: Different Worlds Documentation: With education, we want to understand what we’re doing as deeply as possible. ● Focus is on understanding the complex systems ● Usually want to tear apart or replace systems, instead of adapting them ● Often want documentation on things game developers rarely modify
  • 48. #UE4 Lesson 3: Different Worlds Documentation: Fortunately, students are often willing to contribute back!
  • 50. #UE4 Extra Credit: Ambassadors As much as we’d like to be everywhere and help everyone, there are only 24 hours in a day. At Stanford for CS210 alone, there were five groups using UE4, including the two we were directly mentoring. We needed help!
  • 51. #UE4 Extra Credit: Ambassadors! Enter Noam Ben-Avi and Jack Reidy! In addition to helping develop the CS211 course, they also helped every UE4 team at the fair. The hours we spent with them helping them out (it wasn’t a lot!) was a huge force multiplier. We couldn’t have done it without them!
  • 52. #UE4 Extra Credit: Ambassadors! Their course is now becoming available online: http://www.layoutvr.com
  • 53. #UE4 Thanks! Special thanks to: Luis Cataldi (Epic Games) Jay Borenstein (Stanford / Facebook) Noam Ben-Avi (Stanford) Jack Reidy (Stanford) Kelvin Sung (University of Washington) Contact: nick.whiting@epicgames.com