I am talking about the game engine Unity, which can be found under www.unity3d.com. I started out evaluating a variety of game engines, research tools, and modded games, but I ended up using Unity for most of my projects. Whenever I need to create virtual environments, data collection tools and even cognitive tests, Unity is flexible enough for me to come up with a solution. Depending on project requirements, Unity's competitors range from game engines like Unreal Engine 3, Gamebryo (Lightspeed), Torque3D, Ogre etc. all the way to more research and simulation-focused frameworks such as Quest3D, Virtools,Vizard, VRWorlds2, or NeuroVR. By talking about what Unity can do I do not want to discredit any competing engines. All of them have their strengths and weaknesses and for different budgets, team sizes and ambitions, different engines might be the best choice.
The reason why I want to share my thoughts on using Unity for research is simple: More and more labs around the world are conducting research in virtual environments. Unity is growing exponentially after releasing a free version in late 2009 and it compares nicely against its more expensive competitors. The more research being done and the more people picking up Unity for their work, the higher the demand for exchanging knowledge and ideas. So here we go...
But Unity is much more flexible than this. If you're looking for stimulus presentation software for psychological experiments, you have the option of forking out >USD 1000 for software such as E-prime, or you drag and drop an orthogonal camera into a Unity scene and script your stimulus and some data collection...for free (I'll explain that process in a later blog entry together with pros and cons).
You need to statistically analyze your collected data after the experiment? You can just write all of your collected data to a text file on your local machine or a server and copy&paste into any statistical package like Statistica, SPSS, or Excel. Very simple...
How about serious games to educate or train people? Seriously, it's a game engine, so that's a no-brainer. Integrating 3rd party input devices, trackers, Head-Mounted Displays and such is also possible, but might require the purchase of the Pro version of Unity (USD 1500). That's where competitors such as Quest3D VR Edition, Virtools, or Vizard shine (with their repsective price tags). However, by using plugins, socket communication and the help of many other like-minded Unity users on the forums, Unity is steadily improving in this area (e.g. Augmented Reality applications, WiiMote).
Web-deployment is also an option. You're short on cash and can't afford an online survey tool for your questionnaires (or the free versions don't suit your needs)? With Unity's GUI system, you could easily collect data in a survey-like manner by using Text Fields, Buttons, Sliders, etc. It's more work than SurveyMonkey or any other survey tool, but Unity is free and only the sky is the limit for implementing your own ideas. Think of virtual environments for cognitive assessment embedded in a website which is accessible to everyone around the globe. Collecting data from thousands of user within complex virtual environments can become reality right here.
How about mobile assessment, cueing, reminders for participants on-the-go with an IPhone? Unity is hands down the best choice for development for the IPhone (requires additional license addon). With Unity 3.0 looming on the horizon in summer 2010, Android support is going to add another option for researchers and developers who would like to pursue the mobile path for delivering or assessing information.
Lastly, I haven't even touched on Unity's strongest selling point: its community. There are countless tutorials, videos, example projects, busy forums, full documentation of all functionality and its API provided by Unity Technologies and much much more to explore. Even without any prior knowledge of Unity or a scripting language, users are up and running in no time. My next blog entry will go into more detail about those learning resources.
For now, I'd like to finish up by asking anyone who reads this entry and uses Unity or any other engine/tool for non-gaming purposes, research, serious games, exhibitions, simulations, user research projects etc. to drop me a message. I'm always interested in what other passionate folks come up with when given the right tools. I also talked to the Unity Technologies folks at GDC 2010 and I believe that making a strong case for applications of Unity outside of the gaming domain can benefit us in the long run especially when it comes to implementing new features or fixing bugs that are relevant for non-gaming use.