Vuforia SDK Version: 6.x -
Description with steps to reproduce: Previously, we use this callback to know that vuforia is truely done doing everything it needs to do. We have found many cases where it's not really ready if you're doing anything complex. So far, we only see the behavior in the editor....but it's worrysome...and unproductive because we now have to do builds to test something...or write hacky code to get around it. Here's a cute way to expose it...
- have 2 scenes. Both have vuforia (an ARCamera).
- the first scene to load, register a callback to vuforia, RegisterVuforiaStartedCallback, then handle that event and immediately set vuforia.enabled to false (shut it down).
- then at your leisure, load the other scene either via code or a button or whatever. The other scene can just be an ARCamera.
You will get a "Could not deinitialize the tracker."...which i presume throws vuforia into a bad state, which then screws us up for the next scene. During the next scene, you'll see a "cant create dataset".
- if you repeat the steps above, but replace the correct callback with one that we know happens even later, such as RegisterBackgroundTextureChangedCallback...then no problem. You can also use the first callback, but then add a StartCoroutine for a delay. These things tell me that something wasn't really finished before we got the RegisterVuforiaStartedCallback.
Here's a quick chunk of code to automate this: http://codepaste.net/7he7t3
win7 64, unity 5.4, vuforia 6.x
// reason we noticed was that we have some stuff failing after upgrade...all related to this callback...all fixed by adding a delay
Development OS (Mac OS X, Windows, Linux): win7 -
Mobile OS and Version: android -
Mobile Device Manufacturer and Model name: any -
Do the Vuforia Sample Applications show the same behavior?: do