- Difference Among VR, AR, MR, XR
- Computer Vision (Outside)
- Data Acquisition & Processing
- SLAM
- VR Workflow (Middle)
- OpenXR
- Computer Graphics (Inside)
Mainly handle the workflow (middle) and visual (inside)
Handle request to data acquisition (outside)
- Game Lifecycle
- Components (Different parts of Game Engine)
- Physics
- Rendering
- Animation
- File Management
- Input/Output
- Garbage Collection
- Plugin (Special for VR/AR Development)
- General Plugin
- XR Plugin
- AR Foundation
- XR Interaction Kit
- VR Special
- SDK From each vendors
- OpenXR
- AR Special
- ARKit for iOS device
- ARCore for Android device
- ... (special sdk for different vendors)
- General Plugin
- Language and grammar
- Data Structure
- Algorithm
- Object-oriented Programming (OOP) and Class
- Design Pattern
Other than the language and grammer part, the rest of the knowledges are general. One should understand the basic ideas and how to write and apply them with the language they chose for their needs.
For using Unity, C# is the default option.