Depth Mask not working on iOS device

It works fine in simulation, however, the depth mask is not working in actual iOS device. Part of the 3D prefab should be blocked and becomes invisible when head moves toward certain direction, but is still visible in all directions. Is this a bug?

hello @xhkong , could you share some images/video on what you are referring to?

Hiya, I’m having the same issue. Occlusion looks ok in the editor, in device view etc. But it doesn’t seem to work when built (ios) and running on a device. Any thoughts?

hello @SpaceHippyArtMonkey ,

Interesting, could you share with us the xcode logs when building?. Also could you please share with us your editor version, ARFoundation ARKit, etc packages versions and your OSX version?.
Also, are you running on apple silicon or x86 based architecture.

Hi, sure, and thanks!
Unity 2019.4.10f1
AR Foundation/FaceTracking/ARKit XR Plugin 4.1.1
OSX Catalina 10.15.7
No Apple Silicon

Here’s the Xcode Logs-

2021-01-20 11:25:37.449831-0500 CosmicCrown[636:82693] Built from ‘2019.4/staging’ branch, Version ‘2019.4.10f1 (5311b3af6f69)’, Build type ‘Release’, Scripting Backend ‘il2cpp’

→ applicationDidFinishLaunching()

→ applicationDidBecomeActive()

[Subsystems] Discovering subsystems at path /private/var/containers/Bundle/Application/C1033256-F586-4D92-A0AA-C3BABC91F599/CosmicCrown.app/Data/UnitySubsystems

[Subsystems] No descriptors matched for examples in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.

[Subsystems] 1 ‘inputs’ descriptors matched in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json

[Subsystems] No descriptors matched for displays in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.

[Subsystems] 1 ‘meshings’ descriptors matched in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json

GfxDevice: creating device client; threaded=1

Initializing Metal device caps: Apple A11 GPU

Initialize engine version: 2019.4.10f1 (5311b3af6f69)

XRGeneral Settings awakening…

UnityEngine.XR.Management.XRGeneralSettings:Awake()

(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)

2021-01-20 11:25:38.647022-0500 CosmicCrown[636:82693]

// 2D joint skeleton

enum JointIndices

{

Invalid = -1,

Head = 0, // parent: Neck1 [1]

Neck1 = 1, // parent: Root [16]

RightShoulder1 = 2, // parent: Neck1 [1]

RightForearm = 3, // parent: RightShoulder1 [2]

RightHand = 4, // parent: RightForearm [3]

LeftShoulder1 = 5, // parent: Neck1 [1]

LeftForearm = 6, // parent: LeftShoulder1 [5]

LeftHand = 7, // parent: LeftForearm [6]

RightUpLeg = 8, // parent: Root [16]

RightLeg = 9, // parent: RightUpLeg [8]

RightFoot = 10, // parent: RightLeg [9]

LeftUpLeg = 11, // parent: Root [16]

LeftLeg = 12, // parent: LeftUpLeg [11]

LeftFoot = 13, // parent: LeftLeg [12]

RightEye = 14, // parent: Head [0]

LeftEye = 15, // parent: Head [0]

Root = 16, // parent: [-1]

}

2021-01-20 11:25:38.670849-0500 CosmicCrown[636:82693]

// 3D joint skeleton

enum JointIndices

{

Invalid = -1,

Root = 0, // parent: [-1]

Hips = 1, // parent: Root [0]

LeftUpLeg = 2, // parent: Hips [1]

LeftLeg = 3, // parent: LeftUpLeg [2]

LeftFoot = 4, // parent: LeftLeg [3]

LeftToes = 5, // parent: LeftFoot [4]

LeftToesEnd = 6, // parent: LeftToes [5]

RightUpLeg = 7, // parent: Hips [1]

RightLeg = 8, // parent: RightUpLeg [7]

RightFoot = 9, // parent: RightLeg [8]

RightToes = 10, // parent: RightFoot [9]

RightToesEnd = 11, // parent: RightToes [10]

Spine1 = 12, // parent: Hips [1]

Spine2 = 13, // parent: Spine1 [12]

Spine3 = 14, // parent: Spine2 [13]

Spine4 = 15, // parent: Spine3 [14]

Spine5 = 16, // parent: Spine4 [15]

Spine6 = 17, // parent: Spine5 [16]

Spine7 = 18, // parent: Spine6 [17]

LeftShoulder1 = 19, // parent: Spine7 [18]

LeftArm = 20, // parent: LeftShoulder1 [19]

LeftForearm = 21, // parent: LeftArm [20]

LeftHand = 22, // parent: LeftForearm [21]

LeftHandIndexStart = 23, // parent: LeftHand [22]

LeftHandIndex1 = 24, // parent: LeftHandIndexStart [23]

LeftHandIndex2 = 25, // parent: LeftHandIndex1 [24]

LeftHandIndex3 = 26, // parent: LeftHandIndex2 [25]

LeftHandIndexEnd = 27, // parent: LeftHandIndex3 [26]

LeftHandMidStart = 28, // parent: LeftHand [22]

LeftHandMid1 = 29, // parent: LeftHandMidStart [28]

LeftHandMid2 = 30, // parent: LeftHandMid1 [29]

LeftHandMid3 = 31, // parent: LeftHandMid2 [30]

LeftHandMidEnd = 32, // parent: LeftHandMid3 [31]

LeftHandPinkyStart = 33, // parent: LeftHand [22]

LeftHandPinky1 = 34, // parent: LeftHandPinkyStart [33]

LeftHandPinky2 = 35, // parent: LeftHandPinky1 [34]

LeftHandPinky3 = 36, // parent: LeftHandPinky2 [35]

LeftHandPinkyEnd = 37, // parent: LeftHandPinky3 [36]

LeftHandRingStart = 38, // parent: LeftHand [22]

LeftHandRing1 = 39, // parent: LeftHandRingStart [38]

LeftHandRing2 = 40, // parent: LeftHandRing1 [39]

LeftHandRing3 = 41, // parent: LeftHandRing2 [40]

LeftHandRingEnd = 42, // parent: LeftHandRing3 [41]

LeftHandThumbStart = 43, // parent: LeftHand [22]

LeftHandThumb1 = 44, // parent: LeftHandThumbStart [43]

LeftHandThumb2 = 45, // parent: LeftHandThumb1 [44]

LeftHandThumbEnd = 46, // parent: LeftHandThumb2 [45]

Neck1 = 47, // parent: Spine7 [18]

Neck2 = 48, // parent: Neck1 [47]

Neck3 = 49, // parent: Neck2 [48]

Neck4 = 50, // parent: Neck3 [49]

Head = 51, // parent: Neck4 [50]

Jaw = 52, // parent: Head [51]

Chin = 53, // parent: Jaw [52]

LeftEye = 54, // parent: Head [51]

LeftEyeLowerLid = 55, // parent: LeftEye [54]

LeftEyeUpperLid = 56, // parent: LeftEye [54]

LeftEyeball = 57, // parent: LeftEye [54]

Nose = 58, // parent: Head [51]

RightEye = 59, // parent: Head [51]

RightEyeLowerLid = 60, // parent: RightEye [59]

RightEyeUpperLid = 61, // parent: RightEye [59]

RightEyeball = 62, // parent: RightEye [59]

RightShoulder1 = 63, // parent: Spine7 [18]

RightArm = 64, // parent: RightShoulder1 [63]

RightForearm = 65, // parent: RightArm [64]

RightHand = 66, // parent: RightForearm [65]

RightHandIndexStart = 67, // parent: RightHand [66]

RightHandIndex1 = 68, // parent: RightHandIndexStart [67]

RightHandIndex2 = 69, // parent: RightHandIndex1 [68]

RightHandIndex3 = 70, // parent: RightHandIndex2 [69]

RightHandIndexEnd = 71, // parent: RightHandIndex3 [70]

RightHandMidStart = 72, // parent: RightHand [66]

RightHandMid1 = 73, // parent: RightHandMidStart [72]

RightHandMid2 = 74, // parent: RightHandMid1 [73]

RightHandMid3 = 75, // parent: RightHandMid2 [74]

RightHandMidEnd = 76, // parent: RightHandMid3 [75]

RightHandPinkyStart = 77, // parent: RightHand [66]

RightHandPinky1 = 78, // parent: RightHandPinkyStart [77]

RightHandPinky2 = 79, // parent: RightHandPinky1 [78]

RightHandPinky3 = 80, // parent: RightHandPinky2 [79]

RightHandPinkyEnd = 81, // parent: RightHandPinky3 [80]

RightHandRingStart = 82, // parent: RightHand [66]

RightHandRing1 = 83, // parent: RightHandRingStart [82]

RightHandRing2 = 84, // parent: RightHandRing1 [83]

RightHandRing3 = 85, // parent: RightHandRing2 [84]

RightHandRingEnd = 86, // parent: RightHandRing3 [85]

RightHandThumbStart = 87, // parent: RightHand [66]

RightHandThumb1 = 88, // parent: RightHandThumbStart [87]

RightHandThumb2 = 89, // parent: RightHandThumb1 [88]

RightHandThumbEnd = 90, // parent: RightHandThumb2 [89]

}

[Subsystems] Loading plugin UnityARKit for subsystem ARKit-Input…

[Subsystems] UnityARKit successfully registered Provider for ARKit-Input

[Subsystems] Loading plugin UnityARKit for subsystem ARKit-Meshing…

[Subsystems] Failed to initialize subsystem ARKit-Meshing [error: 1]

2021-01-20 11:25:43.808852-0500 CosmicCrown[636:82693] [Common] _BSMachError: port 13703; (os/kern) invalid capability (0x14) “Unable to insert COPY_SEND”

2021-01-20 11:25:43.811288-0500 CosmicCrown[636:82693] Unbalanced calls to begin/end appearance transitions for <UnityViewControllerStoryboard: 0x1055e2f80>.

UnloadTime: 2.078458 ms

MARS GeoLocation is not configured to request location service permission for this project. See ‘GeoLocationModule’ asset.

Unity.MARS.Providers.GeoLocationModule:Unity.XRTools.ModuleLoader.IModule.LoadModule()

Unity.XRTools.ModuleLoader.ModuleLoaderCore:LoadModulesWithTypes(List`1)

Unity.MARS.MARSSession:Awake()

(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)

2021-01-20 11:25:44.421100-0500 CosmicCrown[636:82693] UnityARKit: Updating ARSession configuration with <ARFaceTrackingConfiguration: 0x281c61bc0 worldAlignment=Gravity lightEstimation=Disabled frameSemantics=None videoFormat=<ARVideoFormat: 0x281829770 imageResolution=(1280, 720) framesPerSecond=(60)>>

→ applicationWillResignActive()

→ applicationDidEnterBackground()

2021-01-20 11:26:07.182734-0500 CosmicCrown[636:82693] Can’t end BackgroundTask: no background task exists with identifier 1 (0x1), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.

Thanks for the logs!, does this issue also happen with the example?, Do you also have installed the AR Kit face tracking package?

Hi again,
I don’t see an example for face tracking - not one that has any objects around it.
Maybe I’m missing the obvious? Where should it be?
I’ve tried this with the default face mask and a sphere generated from unity. Same issue… I do have the AR face tracking package installed - v 4.1.1

if its the default facemask it should be fine, disregard my comment with regards the example, I was referring to the one presented in the docs Face tracking | Unity MARS | 1.2.0

Could you tell me if it still happens with ARF, ARKit, etc on 4.0.1?, also, which iPhone are you testing with?

Also, which iPhone are you building to?

I am building to two devices:
an iPhone X (13.2.3)
and an iPad Pro 11 inch second gen (14.3)

I’ll downgrade to 4.0.1 and give it a try.

Dunno if this is useful but here’s the log for the one I built that is super simple: created a new scene, added MARS face mask preset, added sphere behind head (parented to the face mask of course, it tracks correctly just the depth mask seems to be failing) and built:

2021-01-20 12:42:48.762491-0500 CosmicCrown[15027:776035] Built from ‘2019.4/staging’ branch, Version ‘2019.4.10f1 (5311b3af6f69)’, Build type ‘Release’, Scripting Backend ‘il2cpp’

→ applicationDidFinishLaunching()

→ applicationDidBecomeActive()

[Subsystems] Discovering subsystems at path /private/var/containers/Bundle/Application/8EDA0D68-D9B5-40C7-B635-12F99073D74F/CosmicCrown.app/Data/UnitySubsystems

[Subsystems] No descriptors matched for examples in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.

[Subsystems] 1 ‘inputs’ descriptors matched in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json

[Subsystems] No descriptors matched for displays in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json.

[Subsystems] 1 ‘meshings’ descriptors matched in UnitySubsystems/UnityARKit/UnitySubsystemsManifest.json

GfxDevice: creating device client; threaded=1

Initializing Metal device caps: Apple A12Z GPU

Initialize engine version: 2019.4.10f1 (5311b3af6f69)

XRGeneral Settings awakening…

UnityEngine.XR.Management.XRGeneralSettings:Awake()

(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)

2021-01-20 12:42:49.894379-0500 CosmicCrown[15027:776035]

// 2D joint skeleton

enum JointIndices

{

Invalid = -1,

Head = 0, // parent: Neck1 [1]

Neck1 = 1, // parent: Root [16]

RightShoulder1 = 2, // parent: Neck1 [1]

RightForearm = 3, // parent: RightShoulder1 [2]

RightHand = 4, // parent: RightForearm [3]

LeftShoulder1 = 5, // parent: Neck1 [1]

LeftForearm = 6, // parent: LeftShoulder1 [5]

LeftHand = 7, // parent: LeftForearm [6]

RightUpLeg = 8, // parent: Root [16]

RightLeg = 9, // parent: RightUpLeg [8]

RightFoot = 10, // parent: RightLeg [9]

LeftUpLeg = 11, // parent: Root [16]

LeftLeg = 12, // parent: LeftUpLeg [11]

LeftFoot = 13, // parent: LeftLeg [12]

RightEye = 14, // parent: Head [0]

LeftEye = 15, // parent: Head [0]

Root = 16, // parent: [-1]

}

2021-01-20 12:42:49.899321-0500 CosmicCrown[15027:776035]

// 3D joint skeleton

enum JointIndices

{

Invalid = -1,

Root = 0, // parent: [-1]

Hips = 1, // parent: Root [0]

LeftUpLeg = 2, // parent: Hips [1]

LeftLeg = 3, // parent: LeftUpLeg [2]

LeftFoot = 4, // parent: LeftLeg [3]

LeftToes = 5, // parent: LeftFoot [4]

LeftToesEnd = 6, // parent: LeftToes [5]

RightUpLeg = 7, // parent: Hips [1]

RightLeg = 8, // parent: RightUpLeg [7]

RightFoot = 9, // parent: RightLeg [8]

RightToes = 10, // parent: RightFoot [9]

RightToesEnd = 11, // parent: RightToes [10]

Spine1 = 12, // parent: Hips [1]

Spine2 = 13, // parent: Spine1 [12]

Spine3 = 14, // parent: Spine2 [13]

Spine4 = 15, // parent: Spine3 [14]

Spine5 = 16, // parent: Spine4 [15]

Spine6 = 17, // parent: Spine5 [16]

Spine7 = 18, // parent: Spine6 [17]

LeftShoulder1 = 19, // parent: Spine7 [18]

LeftArm = 20, // parent: LeftShoulder1 [19]

LeftForearm = 21, // parent: LeftArm [20]

LeftHand = 22, // parent: LeftForearm [21]

LeftHandIndexStart = 23, // parent: LeftHand [22]

LeftHandIndex1 = 24, // parent: LeftHandIndexStart [23]

LeftHandIndex2 = 25, // parent: LeftHandIndex1 [24]

LeftHandIndex3 = 26, // parent: LeftHandIndex2 [25]

LeftHandIndexEnd = 27, // parent: LeftHandIndex3 [26]

LeftHandMidStart = 28, // parent: LeftHand [22]

LeftHandMid1 = 29, // parent: LeftHandMidStart [28]

LeftHandMid2 = 30, // parent: LeftHandMid1 [29]

LeftHandMid3 = 31, // parent: LeftHandMid2 [30]

LeftHandMidEnd = 32, // parent: LeftHandMid3 [31]

LeftHandPinkyStart = 33, // parent: LeftHand [22]

LeftHandPinky1 = 34, // parent: LeftHandPinkyStart [33]

LeftHandPinky2 = 35, // parent: LeftHandPinky1 [34]

LeftHandPinky3 = 36, // parent: LeftHandPinky2 [35]

LeftHandPinkyEnd = 37, // parent: LeftHandPinky3 [36]

LeftHandRingStart = 38, // parent: LeftHand [22]

LeftHandRing1 = 39, // parent: LeftHandRingStart [38]

LeftHandRing2 = 40, // parent: LeftHandRing1 [39]

LeftHandRing3 = 41, // parent: LeftHandRing2 [40]

LeftHandRingEnd = 42, // parent: LeftHandRing3 [41]

LeftHandThumbStart = 43, // parent: LeftHand [22]

LeftHandThumb1 = 44, // parent: LeftHandThumbStart [43]

LeftHandThumb2 = 45, // parent: LeftHandThumb1 [44]

LeftHandThumbEnd = 46, // parent: LeftHandThumb2 [45]

Neck1 = 47, // parent: Spine7 [18]

Neck2 = 48, // parent: Neck1 [47]

Neck3 = 49, // parent: Neck2 [48]

Neck4 = 50, // parent: Neck3 [49]

Head = 51, // parent: Neck4 [50]

Jaw = 52, // parent: Head [51]

Chin = 53, // parent: Jaw [52]

LeftEye = 54, // parent: Head [51]

LeftEyeLowerLid = 55, // parent: LeftEye [54]

LeftEyeUpperLid = 56, // parent: LeftEye [54]

LeftEyeball = 57, // parent: LeftEye [54]

Nose = 58, // parent: Head [51]

RightEye = 59, // parent: Head [51]

RightEyeLowerLid = 60, // parent: RightEye [59]

RightEyeUpperLid = 61, // parent: RightEye [59]

RightEyeball = 62, // parent: RightEye [59]

RightShoulder1 = 63, // parent: Spine7 [18]

RightArm = 64, // parent: RightShoulder1 [63]

RightForearm = 65, // parent: RightArm [64]

RightHand = 66, // parent: RightForearm [65]

RightHandIndexStart = 67, // parent: RightHand [66]

RightHandIndex1 = 68, // parent: RightHandIndexStart [67]

RightHandIndex2 = 69, // parent: RightHandIndex1 [68]

RightHandIndex3 = 70, // parent: RightHandIndex2 [69]

RightHandIndexEnd = 71, // parent: RightHandIndex3 [70]

RightHandMidStart = 72, // parent: RightHand [66]

RightHandMid1 = 73, // parent: RightHandMidStart [72]

RightHandMid2 = 74, // parent: RightHandMid1 [73]

RightHandMid3 = 75, // parent: RightHandMid2 [74]

RightHandMidEnd = 76, // parent: RightHandMid3 [75]

RightHandPinkyStart = 77, // parent: RightHand [66]

RightHandPinky1 = 78, // parent: RightHandPinkyStart [77]

RightHandPinky2 = 79, // parent: RightHandPinky1 [78]

RightHandPinky3 = 80, // parent: RightHandPinky2 [79]

RightHandPinkyEnd = 81, // parent: RightHandPinky3 [80]

RightHandRingStart = 82, // parent: RightHand [66]

RightHandRing1 = 83, // parent: RightHandRingStart [82]

RightHandRing2 = 84, // parent: RightHandRing1 [83]

RightHandRing3 = 85, // parent: RightHandRing2 [84]

RightHandRingEnd = 86, // parent: RightHandRing3 [85]

RightHandThumbStart = 87, // parent: RightHand [66]

RightHandThumb1 = 88, // parent: RightHandThumbStart [87]

RightHandThumb2 = 89, // parent: RightHandThumb1 [88]

RightHandThumbEnd = 90, // parent: RightHandThumb2 [89]

}

[Subsystems] Loading plugin UnityARKit for subsystem ARKit-Input…

[Subsystems] UnityARKit successfully registered Provider for ARKit-Input

[Subsystems] UnityARKit successfully registered Provider for ARKit-Input

[Subsystems] UnityARKit successfully registered Provider for ARKit-Meshing

[Subsystems] Loading plugin UnityARKit for subsystem ARKit-Meshing…

2021-01-20 12:42:50.576083-0500 CosmicCrown[15027:776035] Unbalanced calls to begin/end appearance transitions for <UnityViewControllerStoryboard: 0x101458120>.

UnloadTime: 2.349917 ms

MARS GeoLocation is not configured to request location service permission for this project. See ‘GeoLocationModule’ asset.

Unity.MARS.Providers.GeoLocationModule:Unity.XRTools.ModuleLoader.IModule.LoadModule()

Unity.XRTools.ModuleLoader.ModuleLoaderCore:LoadModulesWithTypes(List`1)

Unity.MARS.MARSSession:Awake()

(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)

2021-01-20 12:42:52.493959-0500 CosmicCrown[15027:776035] UnityARKit: Updating ARSession configuration with <ARFaceTrackingConfiguration: 0x280d9e3a0 worldAlignment=Gravity lightEstimation=Disabled frameSemantics=None videoFormat=<ARVideoFormat: 0x2809c33e0 imageResolution=(1440, 1080) framesPerSecond=(60)>>

2021-01-20 12:43:25.548857-0500 CosmicCrown[15027:776510] [Technique] ARWorldTrackingTechnique <0x10b514a10>: World tracking performance is being affected by resource constraints [1]

Ok, I have AR kit and AR Kit Face Tracking at 4.0.1.
However ARF seems to go from 4.0.0 to 4.0.2
Please advise!
Thanks :slight_smile:

1 Like

4.0.2!, and if it doesnt work make ARKit and ARKit Face also 4.0.2, let us know :slight_smile:

Also, dont forget to let us know about which iphone are you building for

I am building to two devices:
an iPhone X (ios 13.2.3)
and an iPad Pro 11 inch second gen (ios 14.3)

They both do the same thing (new iPad does the same thing faster;) )
I’ll try 4.0.2

1 Like

@SpaceHippyArtMonkey could you please re-check the ARFoundation version?, could you send us a screenshot of what the package manager shows you?

just built with ARKit and ARKit Face at 4.0.1 and ARF at 4.0.2
updating all to 4.0.2
here’s a screenshot of my Package Manger

ok all three packages are 4.0.2 and the behavior is the same…

hello @SpaceHippyArtMonkey , We are looking into it, I will get back to you.

thanks! I appreciate i… it’s definitely time for a walk lol

1 Like

hello @SpaceHippyArtMonkey The team has found out that this is indeed a bug, we are working on it to fix it ASAP

Cool, thanks, will keep an eye out for the fix! (you’ll post about it here, right?)

Sure!