Useful Resources
In general
For the most part, Unity is used as a game engine. They as a company are hard at work to broaden their scope into other areas, but most people are using Unity to make games. This is why in the below resources list you're going to find many channels and resources that seem to be geared towards game development. Even in our field, this is a useful space to keep an eye on, since many components of what we're trying to achieve are directly lifted from traditional / computerised game design.
Getting Started
For when you’re completely new to Unity, you can start at something like the Unity Learn Essentials. Unity is a program that allows you to do many (many!) different things. The concequence is that you will need to become proficient in various fields, ranging from animation to coding, from UI to level design. Starting with a general foundation is recommended.
One of the more accessible tutorials online used to be Brackeys’ YouTube series . Unfortunately this channel is no longer active, but most information should remain relevant for at least a while.
Intermediate
One of Unity’s own C# scripting tutorial playlists has good information on specific coding challenges.
VR specific tutorials can be found at Justin P. Barnett’s channel. He delivers easily accessible content, while also focussing on better practices.
Tarodev has a fair bit of useful content as well.
Broader conceptual ideas about what goes in good Game design is discussed at GMTK
Game Grind has some excellent tutorials as well.
Environment, lighting settings and baking are discussed in depth in UGuruz's channel
The GDC talk by Allena Hail and it's accompanying PDF shed an enormous amount of light on how to make your project run well on the Oculus Quest.
Advanced
Mainly geared towards good coding practices, code reviews and interviews, Infallible Code’s YouTube Tutorials has fantastic information available.
A fair bit of Unity Tools creation, UI design and advanced options can be found at Game Dev Guide’s YouTube Tutorials. One of the better advanced channels around.
Advanced Unity setups are discussed by Jason Storey.
Robert Nystrom's excellent book: "Game Programming Patterns" can be found for free. Examples are in C++, but it's absolutely applicable (and understandable!) for people using C#.
Freya Holmér excellent in-depth explanations regarding everything from Game Math to Shader code can be found on her channel.
More conceptual and overarching talks can be found at the GDC Vault
Tim Corey is active in the intermediate-to-advanced C# space on his channel.
Research Specific
Unity Experiment Framework (UXF)
One of the best packages for behavioural research in Unity is UXF. It simplifies the creation of your study tremendously. UXF is still under active development, and is downloadable in a stable version. More information can be found here.
bmlTUX
Another package for creating experiments in Unity is bmlTUX. It promises ease of use in creating trials and blocks. You can find more information here. It is unclear whether this package is still under development.
PSY-VR
For VR research which is geared towards recreating a 2D task in a 3D virtual lab environment (on a virtual PC) PSY-VR can be a good option. They also have a research paper. PSY-VR doesn't seem to be updated recently.
Books
Coding
- The Pragmatic Programmer (David Thomas & Andrew Hunt)
- Clean Code (Robert C. Martin)
- Test Driven Development (Kent Beck)
- Game Programming Patterns (Robert Nystrom) (also found for free online)
Design & Philosophy
- Reality is Broken (Jane McGonigal)
- Don't Make me Think (Steve Krug)
VR & VR Philosophy
- Experience on Demand (Jeremy Bailenson)
- Future Presence (Peter Rubin)
- Dawn of the New Everything (Jaron Lanier)
Unity Specific
- Extending Unity with Editor Scripting (Angelo Tadres) (some examples are slightly out of date, but most is still applicable).
- Basic Math for Game Development with Unity3D (Kelvin Sung & Gregory Smith)