To make sure you can use the all-new VR-input system, VR Camera system, and some other new VR tools during development, we updated our entire SDK, Headjack Cloud Build, and VR templates to the latest long term support version of Unity 2021.3 LTS.
This update will ensure that all the hard work you do in developing on top of our products will stay working for the years to come and will always comply with the latest app store regulations.
The new update is not entirely backward compatible with existing (custom) templates, and as a result, Cloud Build won’t be either when the update is live. We have tried to keep compatibility, but the update to the latest Unity LTS version and a new source-available SDK structure required some incompatible changes. We’ve kept the changes needed to a minimum and have updated our own templates to serve as examples for the migration. Rest assured that existing apps will not be affected and will continue to work as expected.
Some of the changes:
- Migrated to the latest Unity LTS version 2021.3.
- Unity project structure overhaul, so third-party SDKs and plugins are now loaded/unloaded entirely and on-demand.
- Updated to the latest versions of all included (VR) SDKs, and kept legacy SDKs as separate platforms for continued device support for both older and brand-new VR headset models.
- Improved (future) compatibility with the different app stores.
- The Headjack SDK is now distributed in a more source-available form, to allow far more freedom to modify built-in functionality.
- Read full changelog here
Important notes on using the new Headjack SDK:
- Download the latest Headjack SDK (as full Unity project) here.
- Use Unity version 2021.3 LTS.
- The project structure has changed too much to be able to just swap the Headjack SDK in your existing custom template project, so we advise replacing the Template folder in this new Unity 2021.3 project with your custom template instead.
- If you had any custom Unity packages or project settings in your project, re-apply those changes. This may require updating to a newer version of packages that is compatible with the new Unity 2021.3.
- Because VR SDKs are now completely unloaded when not used, you may encounter compiler errors related to missing VR packages like this:
- This can be solved by enclosing that section of code with an
#endifstatement with one of the following scripting define symbols corresponding with the relevant VR platform, to enable conditional compilation:
USE_OCULUS_SDK, USE_OCULUS_LEGACY_SDK, USE_CARDBOARD_SDK, USE_OPENVR_SDK, USE_PICO_SDK, USE_PICO_PLATFORM_SDK, USE_WAVE_SDK
For the above example error this is the edit to enable conditional compilation of the Valve/OpenVR SDK:
- If your custom template is based on one of the default Headjack Essentials templates, downloading the updated version of that source template from the Headjack Template Marketplace will give the best examples of these fixes. If you are even able to automatically re-apply your custom changes on top of the updated version of the source template, for example by using GIT rebase, that may be the fastest way to fix any conditional compilation errors.
- Lastly, be sure to change the Virtual Reality API in the Headjack Settings window at least once from the default value (and confirming with Apply Settings), to find any last compilation errors. Similarly, changing build platform in Unity or starting a local app build might reveal some final conditional compile errors. These errors can all be fixed in the same way with an appropriate
Enjoy the shiny new up-to-date Headjack SDK on the latest Unity LTS release and if you have any questions or encounter any issues migrating your custom template, do not hesitate to contact us.