Came across this issue yesterday with the Oculus integration. It seems that ANY Unity package is considered FIRST before any project assets existing in a solution.
Case in point the Oculus packages (provided by unity) and the Oculus Asset (provided by Oculus).
The Oculus asset includes an API updater, which will detect the installed plugin (even in the Unity Package) and download the latest as required, placing it in the Project Assets folder. However, this newer plugin is completely ignored in favour of the existing plugin in a Unity Package, which seems the wrong way round.
Today:
- Oculus Unity package uses 1.38.1 (only recently updated even though the newer was released earlier)
- Oculus asset downloads 1.39
When run, only the 1.38.1 plugin is used, ignoring the newer plugin in Assets.
The simple fix is to remove the Unity package, which then forces the solution to revert to using the plugin in the asset project. However, this is not obvious and could lead to issues, especially as Unity FORCES the install of the package when a Platform is selected in the XR settings.
So either:
- Packages containing 3rd party dll’s need to be updated more frequently
- The consumption order of plugin’s needs to prioritise the plugin in the Asset folder FIRST, allowing newer overrides to be used.