Hello,
I have recently migrated to ARFoundation 4.0.2 on Unity 2019.3.3f1.
On my project, I use worldmap to create AR persistence.
It was working well until I update ARFoundation.
I am now facing a strange issue: the first time I launch my app, all seems to perform well (ARSession is correctly started, my image library for tracking is loading well, my worldmap is correctly read from a file and applyed) but I can see in the log that my ARSession is updated several times after I have applied my worldmap.
The environment is not recognized!
If I come back to my main menu and reset the tracking (ARSession + imge library + worldmap), this time the environment is recognized.
Each time I restart my app, the same scenario occurs.
I think there is an issue the first time due to some ARSession related object not having finished its initialization but I can’t find which one and how to check its readyness.
I tried by adding a small wait (2 seconds): it solves the issue but I am not very pleased to use this kind of solution. There is always a risk that the chosen duration is not enough of some other device.
Has someone faced the same issue? How did you solve it?
Thanks for your help
Remark:
Here are the logs I have when meeting the bug.
2020-07-21 14:51:59.765727+0200 AugmentedOperator[509:63122] UnityARKit: Updating ARSession configuration with <ARWorldTrackingConfiguration: 0x2809dcf00 worldAlignment=Gravity lightEstimation=Disabled frameSemantics=None videoFormat=<ARVideoFormat: 0x281f6bb10 imageResolution=(1920, 1440) framesPerSecond=(60)> autoFocus=Enabled environmentTexturing=None wantsHDREnvironmentTextures=Enabled planeDetection=Horizontal|Vertical collaboration=Disabled userFaceTracking=Disabled sceneReconstruction=None detectionImages=[<ARReferenceImage: 0x28189ef40 name="D67A9AB0-C6B7-9E47-8C3F-89F80295718B" physicalSize=(0.060, 0.060)>, <ARReferenceImage: 0x281883de0 name="8B3ACE99-2766-9F41-B2D8-E63D17E6EB39" physicalSize=(0.070, 0.070)>] maximumNumberOfTrackedImages=1 automaticImageScaleEstimation=Disabled>
2020-07-21 14:51:59.782341+0200 AugmentedOperator[509:63122] UnityARKit: Updating ARSession configuration with <ARWorldTrackingConfiguration: 0x2809c3d80 worldAlignment=Gravity lightEstimation=Disabled frameSemantics=None videoFormat=<ARVideoFormat: 0x281f6bb10 imageResolution=(1920, 1440) framesPerSecond=(60)> autoFocus=Enabled environmentTexturing=None wantsHDREnvironmentTextures=Enabled planeDetection=Horizontal|Vertical collaboration=Disabled userFaceTracking=Disabled sceneReconstruction=None detectionImages=[<ARReferenceImage: 0x28189ef40 name="D67A9AB0-C6B7-9E47-8C3F-89F80295718B" physicalSize=(0.060, 0.060)>, <ARReferenceImage: 0x281883de0 name="8B3ACE99-2766-9F41-B2D8-E63D17E6EB39" physicalSize=(0.070, 0.070)>] maximumNumberOfTrackedImages=1 automaticImageScaleEstimation=Disabled>
2020-07-21 14:51:59.799017+0200 AugmentedOperator[509:63122] UnityARKit: Updating ARSession configuration with <ARWorldTrackingConfiguration: 0x2809d9080 worldAlignment=Gravity lightEstimation=Disabled frameSemantics=None videoFormat=<ARVideoFormat: 0x281f6bb10 imageResolution=(1920, 1440) framesPerSecond=(60)> autoFocus=Enabled environmentTexturing=None wantsHDREnvironmentTextures=Enabled planeDetection=Horizontal|Vertical collaboration=Disabled userFaceTracking=Disabled sceneReconstruction=None detectionImages=[<ARReferenceImage: 0x28189ef40 name="D67A9AB0-C6B7-9E47-8C3F-89F80295718B" physicalSize=(0.060, 0.060)>, <ARReferenceImage: 0x281883de0 name="8B3ACE99-2766-9F41-B2D8-E63D17E6EB39" physicalSize=(0.070, 0.070)>] maximumNumberOfTrackedImages=1 automaticImageScaleEstimation=Disabled>
2020-07-21 14:51:59.815714+0200 AugmentedOperator[509:63122] UnityARKit: Updating ARSession configuration with <ARWorldTrackingConfiguration: 0x2809c3f00 worldAlignment=Gravity lightEstimation=Disabled frameSemantics=None videoFormat=<ARVideoFormat: 0x281f6bb10 imageResolution=(1920, 1440) framesPerSecond=(60)> autoFocus=Enabled environmentTexturing=None wantsHDREnvironmentTextures=Enabled planeDetection=Horizontal|Vertical collaboration=Disabled userFaceTracking=Disabled sceneReconstruction=None detectionImages=[<ARReferenceImage: 0x28189ef40 name="D67A9AB0-C6B7-9E47-8C3F-89F80295718B" physicalSize=(0.060, 0.060)>, <ARReferenceImage: 0x281883de0 name="8B3ACE99-2766-9F41-B2D8-E63D17E6EB39" physicalSize=(0.070, 0.070)>] maximumNumberOfTrackedImages=1 automaticImageScaleEstimation=Disabled>
As you can see, there is a mention to initialWorldmap in the first line but not on the following ones.