Skip to content
This repository has been archived by the owner on Aug 11, 2024. It is now read-only.

SDK references are lost when a Specific Platform has a dependency #706

Closed
SimonDarksideJ opened this issue Nov 29, 2020 · 6 comments · Fixed by #710 or #719
Closed

SDK references are lost when a Specific Platform has a dependency #706

SimonDarksideJ opened this issue Nov 29, 2020 · 6 comments · Fixed by #710 or #719
Assignees
Labels
Bug Something isn't working

Comments

@SimonDarksideJ
Copy link
Contributor

XRTK - Mixed Reality Toolkit Bug Report

Describe the bug

Currently, SDK assets are copied to the user's project when installed, this causes the GUID's for those assets to be regenerated to avoid conflicts.

However, if a platform's configuration has a dependency on SDK assets, the references they had stored will no longer be correct, resulting in bad configuration.

To Reproduce

  1. Create a new XRTK project
  2. Register the Scoped Registry and Install the XRTK.SDK package (which automatically registers the Core)
  3. Wait for package install, copy and guid regen to complete
  4. Add another platform, e.g. Oculus
  5. When prompted, say "Yes, Absolutely" to register the service configuration automatically
  6. Wait for platform to install
  7. Run "Mixed Reality Toolkit -> Configure" to setup the scene and initial configuration
  8. Select the MixedRealityToolkit Gameobject and observe the configuration screen in the inspector
  9. Navigate to "XRTkRoot -> Input System Profile -> Oculus Controller Data Provider profile -> Advanced -> Lect Oculus Touch profile -> Spatial Pointer Profile"
  10. Observe Registered Pointer Profiles are null (SDK references lost)

This occurs anywhere there is a reference to an SDK component in a platform

Expected behavior

The SDK reference should be preserved and the configuration should be valid

Actual behavior

Broken "Null" references
(also observed in Platform Hand Pointer configuration, with a reference to the SDK Hand Pointer Default Pointer prefab)

Your Setup

  • Operation system Windows Standalone / Android
  • Unity Version 2019.4.15
  • XRTK Version 0.2.0-preview

Additional context

Discussed in #Troubleshooting channel on Discord

@StephenHodgson
Copy link
Contributor

I suppose the best we can do is create a map from the known guids from the sdk to the new regenerated ones, and so a search/replace on them.

Does this still happen if we install the platforms first then install the SDK?

@SimonDarksideJ
Copy link
Contributor Author

Happens either way, simple fact, the GUID's in the UPM package are different to the GUID's when copied to the asset folder, so yet, they will always be broken

@SimonDarksideJ
Copy link
Contributor Author

Tested with UPM, sadly the issue failed testing

@StephenHodgson
Copy link
Contributor

How did it fail?

@StephenHodgson
Copy link
Contributor

StephenHodgson commented Dec 14, 2020

I had forgotten to update the sdk with the breaking changes. The PR is open for that now.

@StephenHodgson
Copy link
Contributor

I think we also still need to add the sdk as a dependency to all the platforms for this to work correctly

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Bug Something isn't working
Projects
None yet
2 participants