MazeVR Dev Log – Day 2
My first step in building this app was to reacquaint myself with building apps for the Oculus Quest 2 using Unity. I had experimented build some VR apps, most notably a recreation of my 1990’s tribute to Asteroids known as SpaceRocks. As this work was done back in December of 2021, I needed a lot of refeshing.
Much of my “education” came from two prolific YouTubers:
One of challenges of experimenting with VR development on Unity is the amount of “setting up” you need to accomplish to start off each new project. While i guess you can do the set up and save a copy to use later as a starting point, I was hoping for a better way. In one of Justin’s videos, he mentioned that you can make a custom “template” which can be used as a starting point.
When you create a Unity project and start using it, they get big (huge) very quickly. Most of these are “library” files that can be recreated during a build. In fact, if you are using GitHub, the vast majority of files can be ignored. Here is a .gitinore file that can be used to minimize the number of files that need to be synced (thanks to GitHub and ChatGPT)
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/
# Recordings can get excessive in size
/[Rr]ecordings/
# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*
# Visual Studio cache directory
.vs/
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D generated file on crash reports
sysinfo.txt
# Builds
*.apk
*.aab
*.unitypackage
*.app
# Crashlytics generated file
crashlytics-build.properties
# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*
Building a Template
To build the template, I started with Justin’s “How to make VR Games 2022”
Key elements include:
- Install XR Interaction Toolkit
- XR Plugin Management
- Install the XR Interaction defaults (Samples)
- Set up a basic scene
- Enable the Locomotion systems
From here, I wanted to build an actual template. ChatGPT said this is not a formally supported process, but Google found these sites:
I built a template (here) and it worked (at least on my Mac)
The file get placed here:
- MacOS: /Applications/Unity/Hub/Editor/2021.3.15f1/Unity.app/Contents/Resources/PackageManager/ProjectTemplates
- PC: Unity\Hub\Editor\2021.1.7f1\Editor\Data\Resources\PackageManager\ProjectTemplates