Unity 2019.4.26f1 Migration - Alteredux/XR GitHub Wiki
Migrating from Unity 2018.4.0f1 to 2019.4.26f1
The migration process was straightforward. It was as simple as installing Unity 2019.4.26f1, opening the Unity Hub and selecting the new version.
Then, Unity would ask if the project should be updated. Simply click on Yes
.
Post Migration Errors
Once the migration was done, those errors showed up.
This is because the GUILayer
component is no longer part of Unity in this version. This forum pointed us in the right direction to fix it. We needed to delete the FlareLayer
component on the Camera
components. However, FlareLayer
is not a deprecated component in Unity and it does not use GUILayer
, so we readded the FlareLayer
components and the errors were gone.
Oculus Quest Build Crash
Initially, we believed that the migration was causing the Oculus build to crash on launch. However, it turns out that the issue was already present in the previous version using Unity 2018.4.0f1. Below are the steps we took to try fixing the issue before realizing the migration was not the cause.
Updating most XR packages
First, we updated the Vive Input Utility package to version 1.13.1. Then, there were incompatibilities within the code referencing the Oculus Integration package, so we updated it as well to version 29.0. In this version, the class MouseLook was introduced, but the asset named CreepyCat already had this class. We simply moved the later class to the namespace CreepyCat
to solve the collision.
After, there were errors concerning code within preprocessor directives like this one:
The problem was that the project files would not update until there was no more compile errors, but the compile errors were due to the project files not being up to date. The solution was to comment those preprocessor directive blocks temporarily, save the files so Unity updates the project files, then uncomment the blocks previously commented.
Then, we went to the Vive Utility Input preferences to re-enable the Oculus platform by going in Edit -> Preferences -> VIU Settings
.
However, re-enabling it only worked after migrating to the new XR Plugin Management. To do so, we went to Edit -> Project Settings -> XR Plugin Management
and clicked on Install XR Plugin Management
.
Then, an error would pop because we are using both the Legacy XR
and XR Management Plugin
. To fix it, we removed the Oculus Android
and Oculus Desktop
packages in Window -> Package Manager
.
Finally, following this migration guide, we added the TrackedPoseDriver
component to all main cameras in the project.
Debugging Using the Android Debug Bridge (ADB)
Since the application still crashed on Oculus Quest after all the updates, we followed these instructions to collect data about the crash. However, it did not help to solve the issue yet.