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.

image

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.

image

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.

image image

After, there were errors concerning code within preprocessor directives like this one: image

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.

image

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.

image

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.

image

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.