When it comes to game engines, Unity is well-known. Many designers have read about it or heard of it in conversations, conference presentations, and blog posts. eLearning designers, developers, and managers who have degrees in instructional design or in information technology may have learned how to use Unity as part of their coursework or as part of their work in the field of EdTech. And yet for many other readers, this article could be their first exposure to the brand.
You may wonder whether game development with Unity is something your organization could undertake in-house, or whether it would make sense to work with a Unity developer. There are four questions I will address in this article:
Why Unity? Why is this brand the first one I am writing about in this series of pieces about game engines and the development of immersive learning experiences?
Can someone with no prior experience, training, or exposure to Unity use this game engine to build a successful immersive learning experience? Is it necessary to hire an outside designer or design team in order to build with Unity?
What are the key things you need to understand about Unity, and what would you and an outside developer need to agree about?
Where do you find Unity developers?
I interviewed Alex Stone at Filament Games, an educational game development firm. Alex co-founded Filament Games in 2005, along with Dan White and Dan Norton. He prefers to refer to his job title as chief technical officer, since it more accurately describes his involvement in the trenches in the engineering and IT departments. Filament Games adopted Unity into its workflow in 2013. I will also be using information from an earlier interview with Jessica Lindl, global head of education at Unity.
If your topic or treatment is going to lead to a text-heavy eLearning application or an application designed to read, browse, or navigate, Stone says Unity will not serve you well and recommends sticking with a classic authoring tool. If you want a web app experience, do it in Angular, .NET, or React. If you’re doing a mobile app and it’s not real time, a simulation, or a game, he says Unity will probably not be a great platform because it’s not as efficient and doesn’t run as fast as a native app written in a native SDK . Experience has taught Stone that if it doesn’t make sense to do a project in Unity, save money by doing it another way.
If, however, your learning objective is best served by a learning experience—a simulation especially—a game created with a game engine can be the right answer. So if you want to make a learning experience in the form of a game, why choose Unity as opposed to other engines? In no particular order, here are the considerations:
• Unity is a mature tool, with a lot of features and affordances that support creating simulations—even by creators who are not programmers;
• Unity offers time- and labor-saving features, particularly pre-fab workflows that will speed up development;
• Unity is truly cross-platform; if your audience is using a variety of devices, from the HoloLens, Oculus, or the HTC Vive down to Chromebooks, the core Unity has built-in support for them;
• There are hundreds, if not thousands, of skilled Unity developers with experience in creating games for learning, available on a contract basis or for employment;
• You may find off-the-shelf Unity-based courseware that will exactly fit your requirements, or that developers can tailor to your specifications;
• Unity offers online courseware that you or your staff can use to develop and enhance necessary Unity skills, should you decide to prototype or completely develop your application in-house.
To be fair, there are other game engines such as Unreal Engine, CryEngine, and its offshoot Lumberyard, and (for 2-D games only) Game Maker Studio that are mature (some more mature than others) and that have been used for eLearning development. Not all of these game engines are truly cross-platform, though, and not all of them are suitable for every eLearning situation. They also have communities of experienced developers and these groups or individuals may already have a collection of handy workarounds that will have applications to your project.
In future articles, I will look at some of the other engines and their benefits.
Do you need an outside developer? (Very possibly not)
Depending on your experience with programming and with training you may have received in graduate school, you may be able to use Unity to prototype your eLearning simulation or to do complete development in-house. Stone compares Unity to Photoshop or Word: “There are certain things you can do with it right out of the gate that make you feel super-powerful, and you can do something meaningful without having a ton of technical skills. The nice thing about Unity is that it is so general and the tools were designed for creators. They try to make building blocks for people who are not programmers, who are not technical artists. You can make a rapid prototype of a training solution without a lot of technical skills.”
You can also make use of the tutorials and online courses that Unity offers on its web site to develop your skills. Lindl notes that the Unity + USC course on the Unity site is intended for creators who already have fundamental Unity skills, and that creators who are just starting out with Unity should take the more basic tutorials first. She said that devoting four to five hours a week for this would be a good plan.
In my opinion, since Unity is free to download and use while you are learning, it makes sense to at least give yourself a few weeks with the tutorials and the Unity + USC course, and then build a prototype. After that, as Stone says, you can “go really deep and get really good and learn to do things really efficiently.” You may also learn whether your existing development team has sufficient skills for a division of labor before you look into going with an outside developer.
Even given whatever level of skill you or your team members have or can master, you may still want to make use of a third party developer. As with any application, periodic updates to the app or to the content may be needed. If that is the case, having a developer create it, and including a maintenance provision in the contract, could save time and money in the long run. In addition, third-party developers probably already have hardware and a PC/VR setup to support development on additional target platforms. Stone points out that having this kind of setup can reduce development time. Typical requirements for diverse platforms might include the need for hardware and software to develop for Apple iOS (ARKit 2) or even for PlayStation VR (PS VR).
Some key questions
Are you sure that your needs are best served by a simulation or game?
What Unity skills do your in-house (client) team members possess?
Do you need cross-platform capability? What device(s) will your employees be using to access the eLearning?
What kinds of educational applications has the prospective developer participated in?
Are there off-the-shelf applications from the prospective developer that would serve your purposes, or existing applications that could be modified?
In addition to these questions, Stone offers some lessons learned.
First, for mixed reality or immersive reality, focus on and think about user experience and the input affordances available on your target platform(s). Do you have two controllers? What are the buttons on those controllers? Are there six degrees of freedom or three degrees of freedom? Is your platform environment room scale? Stone says these questions are far more important than the visual requirements for your application. If the controls are not intuitive, you’ll lose your audience. Because mixed and immersive reality are novel environments, users and even creators don’t necessarily have a lot of literacy in those environments. If you are working with an external developer, these are important matters requiring agreement.
Second, as mentioned earlier, does it make sense to do your project in Unity?
Where can you find Unity developers?
Lindl mentioned the Unity Connect resource in my earlier article. This could save you a lot of search time.
In this article, I did not address the use of video with Unity, or tracking learner performance through an LMS or xAPI. These are topics for future articles, along with coverage similar to this article for other game engines. If there are additional questions you would like to see answered, or if you have your own experiences with Unity or outside developers to share, please share your thoughts in the comments section below.
You should also consider attending The eLearning Guild’s Realities360 Conference & Expo, June 25-27, 2019 in San Jose, California. The program includes many sessions on topics related to game engines, games, simulations, and immersive learning, and the Expo will feature a number of exhibitors who can also be helpful in your exploration. Membership in The eLearning Guild is now completely free, includes many valuable benefits at no cost, and provides discounts on registration for Guild events.