Here's 4 tips to help complete beginners dive into Unity
1. Watch Bob Tabor's Videos
C# Fundamentals for Absolute Beginners is an excellent video tutorial series produced by Bob Tabor that is free.
Bob's video series is targeted at absolute beginners to programming, not just beginners to C#. It's a little slow if you know another language already. It's worth looking at.
My initial impressions -- C# is easy to use, easy to learn, and the toolsets around it are amazing. Which leads us to my first experience with Microsoft's developer tools.
3. Use Microsoft Visual Studio
Microsoft Visual Studio is amazingly good for C# programming.
After the experience with Emacs and Atom on Linux, I was shocked at how good the C# programming experience was on Visual Studio. I expected it to suck. It didn't.
I'm also not sure how Visual Studio will perform on systems with low resources. The workstation my daughter will be learning on is called Rainbow Unicorn. It has lots of memory, and a 12 core Xeon CPU. I using Visual Studio and Unity on a slower system with an i7, 8GB of RAM, and discrete nvidia 9 series GPU. It was considerably slower, but still usable. If people run Visual Studio and Unity on slower systems, I'd be curious to hear how the experience went.
4. Build with Stored 360 Media Before Using Camera API
I'm going to continue working with my daughter on the basics of C# and Unity with THETA media before I guide her to applications that use the camera API.
Here's my current curriculum plan. (Untested)
- C# command line - 2 to 5 lessons
- C# basic Unity (may mix the command line tutorials with the Unity tutorials)
- Unity with THETA media
- image on sphere
- image in skybox
- video in sphere
- Unity with THETA API (wifi only)
- picture capture
- picture transfer
- Unity with THETA live streaming
- Unity with different experiences
- native application on Windows, Mac, Linux
- web with webGL (probably not WebVR unless I learn something new)
The API is generally used to improve the overall experience or workflow of a process. For example, I can imagine the API behind used to create a library of spheres for a space and then have the images transferred to a headset. By building the application with stored image files first, my daughter be able to simulate the experience of taking pictures. We can then move to actually triggering the camera and media transfer.