VR Settings in Godot
Before getting started with settings, at the top, go to Project -> Project Settings and choose Advanced Settings.
Project Settings
- OpenXR Enabled: On
- Reference Space: Local Floor
- Physics -> Common -> Physics Ticks per Second: 72/80/90 (Set this to your desired headset FPS to avoid stuttering with physics)
- Rendering -> Anti Aliasing -> Quality -> MSAA 3D: 4x (Slow)
- Editor -> Manage Export Templates (installed)
- Installed the OpenXR Vendors plugin: https://docs.godotengine.org/en/stable/tutorials/xr/deploying_to_android.html#installing-the-vendors-plugin
- Project Settings -> Rendering -> Occlusion Culling -> Use Occlusion Culling: On (Must add an OccluderInstance3D to scene!)
Nodes
- World Environment: Disable Fog and any other effects. Set Tonemap to Linear.
- DirectionalLight3D -> Light ->Bake Mode: Static
- DirectionalLight3D -> Light ->Shadow: OFF
- LightmapGI added to the scene. Click Bake Lightmaps to bake lighting
- OccluderInstance3D added to the scene. All 3D models placed as children of this node. Click Bake Occluders
Model Settings
With a model selected in the FileSystem tab, set:
- Meshes -> Light Baking to Static Lightmaps
- Materials -> Extract -> Extract Once
- Preset Button at top -> Set as 'Default' for Scene
Android (Meta)
Ensure everything above is installed.
Android tools configured: https://docs.godotengine.org/en/stable/tutorials/export/exporting_for_android.html#doc-exporting-for-android
If you are in the SCiL lab, you can use the Unity's bundled Android SDK located:
C:\Program Files\Unity\Hub\Editor\UNITY_VERSION_NUMBER\Editor\Data\PlaybackEngines\AndroidPlayer
Project set to Mobile or Compatibility
Project - > Install Android Build Template
Project Settings
- Rendering/Textures/VRAM Compression/Import ETC2 ASTC: On
- XR/OpenXR/Color Space/Starting Color Space: REC709
Project/Export
- Use Gradle Build: On
- Min SDK: 34
- Target SDK: 34
- Package -> Unique Name: use a reverse URL, e.g. com.CompanyName.YourAppName
- XR Features/XR Mode: OpenXR
- Enable Meta Plugin: On
- There may be more if submitting your app through production