Maybe you’ve played AR games like Pokemon Go, or tried out a VR headset, but do you know what it takes to build AR and VR products? As AR and VR become more ubiquitous in gaming, education, and healthcare, the need for AR and VR engineers who can build these products is likely to increase. In this guide to AR and VR, Carrie Ybay, a Software Engineer for Holberton School’s AR/VR curriculum, explains the difference between AR vs VR, what technologies you need to build AR/VR products, what sort of companies hire AR/VR engineers, and how to get started in AR and VR!

Meet Carrie

  • Carrie Ybay is a Curriculum Software Engineer at Holberton School.
  • She is working on Holberton School’s AR/VR curriculum, creating projects for students, and leveraging both her own passions and the guidance of industry professionals and engineers.
  • Her background is in graphic design, visual web development, and UX, and she also attended Holberton School’s Software Engineering Program.

What’s the difference between AR vs VR?

Most people are familiar with the concept of Virtual Reality (VR), which involves wearing a headset and essentially placing yourself in a digital space separate from actual reality. VR is most well-known in terms of video games and entertainment, but it's also used in:

  • Training simulations,
  • Therapy,
  • Tourism,
  • Education,
  • Journalism,
  • Manufacturing.

On the other hand, Augmented Reality (AR) is viewing and interacting with digital content placed in your physical space. The most well-known AR application is probably Pokemon Go, but AR is also used in:

  • Marketing,
  • Architecture,
  • Medical training,
  • Archaeology,
  • Maintenance and repair.

If it helps, think of VR as The Matrix, and AR as the really cool 3D-overlays-in-the-real-world tech you see in the Iron Man movies.

What’s the history of AR and VR?

VR has been around for decades with the earliest VR head-mounted display created in the late 60s. Up until the 90s, VR technology was primarily used in sectors involved with flight simulation, military training, and medical usage, but the 90s saw the start of using VR hardware in gaming with Nintendo's Virtual Boy and Sega's VR-1. These early VR experiences were limited by the technology of the time and didn’t really catch on, and most of the 00s were relatively quiet in terms of growth in the industry. Only in recent years has VR hardware become more accessible for consumers, most notably with PSVR, Oculus, and Vive.

Like VR, AR also got its start in the late 60s, but the term "augmented reality" wasn’t coined until the 90s. Just like VR, AR was primarily used for simulation and training purposes, as well as in the manufacturing industry. In the late 00s, advertising and marketing companies found value in creating AR campaigns. As with VR hardware, advances have been made in wearable AR technology such as Google Glass and Microsoft HoloLens, though wearable AR tech has yet to reach mainstream adoption with consumers.

What technologies do developers use to build AR and VR products?

Common technologies used to build AR and VR applications are:

  • Unity3D using C#
  • Unreal Engine using C++.

There are several SDKs (software development kits) available depending on the target device and purpose of the application. Here are some examples:

  • ARCore (AR)
  • ARKit (AR)
  • Vuforia (AR)
  • Oculus SDK (VR)
  • OpenVR (VR)
  • Google VR SDK (VR)

WebVR and WebAR are also becoming more popular and can be explored with A-Frame and Javascript. At Holberton, we're continuously consulting with both Unity engineers and professional advisors working in the industry to create a curriculum that focuses on current and projected AR/VR trends to ensure that what students learn is relevant to their future career.

What sort of jobs can you get with AR and VR skills?

AR and VR jobs are available in a variety of different industries including:

  • gaming (Valve, Niantic, Ubisoft, Owlchemy Labs)
  • entertainment (ILM, Amazon, NextVR, Cirque du Soleil)
  • social media (Facebook, Snapchat)
  • marketing and advertising (Ikea, L'Oreal, Nike, Volvo)
  • news and journalism (National Geographic, New York Times)
  • research and development of AR / VR itself (Google, Facebook, Apple)

How much demand is there for AR and VR engineers?

According to Statista.com, the AR and VR markets are projected to increase exponentially within the next ten years. As the accessibility and prevalence of AR and VR hardware increases, more industries will adopt ways to utilize this technology, much in the way that industries targeted mobile phones as they became more ubiquitous. Even now, the potential audience for AR apps and products is enormous because nearly every smartphone is AR-capable, and just as there was a boom for mobile app developers, that's on the horizon for AR and VR developers as well.

What pre-requisite skills do beginners need to start learning AR and VR?

Basic programming skills are a must – at Holberton, students learn the fundamentals in their first year and can choose AR/VR in their second year. Beyond that, working knowledge of geometry, 3D space, and linear algebra is especially helpful. Depending on what aspect of AR or VR a developer wants to get involved with can help you focus as the field is very expansive right now, and it can be helpful to know non-programming skills such as 3D modeling or sound design as well.

Why does Holberton teach AR and VR as a specialization?

AR/VR is a rapidly growing industry, and job opportunities in this space are only going to increase as the technology and hardware become more accessible. Few schools teach AR/VR, and Holberton aims to train engineers who can fill the available jobs that will inevitably arise. We also offer several other specializations including Machine Learning and Low-Level specializations. Check out our Pathways page to see our latest specializations.

Holberton School’s AR/VR Curriculum

We use C# and Unity3D as our main development tools, and students will utilize ARCore, ARKit, and Vuforia in AR projects and a variety of VR SDKs like Oculus SDK, OpenVR, and Google VR. Since the AR/VR industries are evolving so rapidly, the technology we use today may not be the industry standard six months from now. It's important for us to touch upon what's available now but focus towards keeping students flexible and able to learn new technology instead of specializing in one development stack.

The AR/VR curriculum track includes:

  • Fundamentals of programming and algorithms in C#.
  • Unity skills, including:
    • basic scripting
    • asset management
    • utilizing textures and materials
    • designing UI
    • creating animations
    • Audio
  • Creating a 3D game from start to finish to become proficient in Unity.
  • Using Unity skills to create interactive experiences in AR and VR.
  • How to publish applications for a variety of platforms and devices.

In terms of topics, much of what we cover in our curriculum has a strong emphasis on user interface (UI) and user experience (UX) design. Designing for mixed reality interactivity can be significantly different from designing for 2D / screen interactions and creating effective, intuitive interactions is paramount for AR/VR. We also cover introductory linear algebra, shader programming, and test-driven development; skills that are critical to long-term success in the AR/VR space.

What is the future of AR and VR?

As the hardware that supports AR and VR becomes even more accessible for consumers, more and more industries and companies will find ways to leverage this new technology. I expect the industry to make leaps and bounds in progress compared to its development in the past. I especially think that AR will be utilized in ways to make our lives more informed, connected, and convenient, and before long, well-designed AR experiences could become the norm for everything from museum visits to sports games to your daily commute, and everything in-between.

How can beginners get started in AR and VR?

My first advice would be to experience as much AR and VR as possible! Download AR and VR apps to your phone, get a cardboard VR headset, and experience it for yourself! Technically speaking, I would also recommend familiarizing yourself with basic linear algebra on Khan Academy and concepts surrounding 3D computer graphics. Both Unity3D and Unreal Engine are free to download and try, and there are a number of excellent tutorials for both that can be found on their official websites as well as developer-created videos on YouTube. You can also reach out to me via email (carrie.ybay@holbertonschool.com) or Twitter (@hicarrie_)!

Find out more and read Holberton School reviews on Course Report. Check out the Holberton School website.

About The Author

Imogen crispe headshot

Imogen is a writer and content producer who loves writing about technology and education. Her background is in journalism, writing for newspapers and news websites. She grew up in England, Dubai and New Zealand, and now lives in Brooklyn, NY.

Not sure what you're looking for?

We'll match you!

related posts


Guide


Pandas in Python: A Guide for Beginners

Joe Eddy from data science bootcamp Metis breaks down how (and when) to learn Pandas.

What is pandas python image

Video


Why Learn Object-Oriented Programming?

Flatiron School instructor Graham Troyer-Joy explains object-oriented programming for beginners!

London bus object oriented programming spice girls

Guide


How to Choose The Best Coding Language

Ruby, Python, JavaScript, .NET – what's the best programming language to learn?

Best programming language to learn