Submitting ARKit apps to AppStore without Face Tracking

The current latest version of the Unity ARKit plugin includes some native calls to Face Tracking Configuration that will trigger an App Review failure on non-Face Tracking apps because they use TruDepth API without providing a privacy policy.

We’re in the process of fixing this problem for the latest plugin code, but in the meantime, you have two options for submitting your app:

  1. You can submit your apps with an older version of the plugin that does not contain the face-tracking code: you can get the version from bitbucket here: https://bitbucket.org/Unity-Technologies/unity-arkit-plugin/commits/6253989dc33a7341d0fd0ec3b05a69a404a520e9

[edit: zip file here: https://bitbucket.org/Unity-Technologies/unity-arkit-plugin/get/1.0.10.zip]

  1. Even if your app does not use face tracking, you can submit a privacy policy with the App Store and reference it within your app according section 3.3.10 of https://developer.apple.com/programs/information/Apple_Developer_Program_Information_8_12_15.pdf

We apologize for this inconvenience.

1 Like

Thank you! I just ran into this problem.

Just ran into the same thing, doing the first step now (recoding everything with the non-face tracking version)…

You can try the latest version of the plugin on BitBucket that should fix the problem, but I haven’t tested it yet, so it may still be broken. Let me know if it works for you!

Shout out to @christophergoy who helped me out with the solution as usual :slight_smile:

2 Likes

Yes I used the bitbucket solution. Still awaiting response from Apple, has been in review for 3 days now :frowning: So hopefully when I do get a response back I’ll know if the bitbucket solution works or not.

Will keep you posted :slight_smile:

Nav

Still the same issue, I just got off the phone with Apple and they said that the TrueDepth is still enabled (Even though I redid the entire app with the old sdk).

Several of my apps are sitting awaiting approval, seems I’ll have to figure this one out, please advise…

Nav

I just downloaded the zip file and realized that the pull I did from BITBUCKET and the zip file you outlined with the edit ([edit: zip file here: https://bitbucket.org/Unity-Technologies/unity-arkit-plugin/get/1.0.10.zip]) were different. I’m now going to redo the entire thing with the version in the zip file. Will then resubmit my apps and see if that fixes the issue. Pulling an all nighter again to get this thing working…will let you know the results for the zip this time around in the next days ahead.

Nav

Sorry about that - hope it works better this time around.

CONFIRMED! My app is now live in the app store!! Augmented AR Photo Wall => https://itunes.apple.com/us/app/augmented-ar-photo-wall/id1313421761?ls=1&mt=8

You can now confirm that the ZIP file is what is needed 100% to remove the face tracking True Depth API issue.

Nav

2 Likes

PROBLEM

Recent versions of the Unity ARKit Plugin have had an issue that would cause apps that included it but was not using face tracking to fail App Review with the message:
We noticed your app contains the TrueDepth APIs but we were unable to locate these features in your app. Please provide information about how your app uses the TrueDepth APIs.

This was because the plugin used the Face Tracking API in its native code for supporting ARKit face tracking.

SOLUTION

With the latest version of the Unity ARKit plugin, we introduced a settings file where you can specify how you want to use ARKit - with face tracking or without.

If using face tracking, you may also have to provide a Privacy Policy and disclosures for your app along with the submission or you will get a failure as above.

If you do NOT use face tracking, all the native code that has to do with face tracking is stripped out when being built on XCode. This means that if you do attempt to use face tracking in your app with this option, you will get an Objective-C exception called UnityARKitPluginFaceTrackingNotEnabled.

The settings file for doing this is located at “Assets/UnityARKitPlugin/Resources/UnityARKiPlugin/ARKitSettings.asset”

Selecting that file will allow you to select whether to use face tracking or not in the Inspector:

If the ARKitSettings asset is missing, you can create a new one from the “Assets/Create/UnityARKitPlugin/Settings” menu:

[Update: You can download from https://bitbucket.org/Unity-Technologies/unity-arkit-plugin/get/1.0.12.zip ]
[Update: the Unity Asset Store also has this version now]

6 Likes

Thanks for the update! To confirm about the previous version, Apple approved my second app with the old zip file (https://itunes.apple.com/us/app/augmented-ar-christmas-tree/id1315453691?ls=1&mt=8) as well, so that gives a full confirmation about the old code working for sure 100% (Now with 2 Live apps). I will attempt the new arkit plugin on my next several ARKit apps over the next weeks and let you know if I get approved/rejected so you guys have some live data to work with and if there are any errors I’ll let you guys know :slight_smile:

Nav

1 Like

Thank you @jimmya @christophergoy and thank you @gamesscorpion for sharing your update

1 Like

@jimmya now submitting my third ARKit app to Apple this time using your latest 1.0.12.zip file. I will let you know the result once I get more information. Crossing my fingers hoping it gets approved with the latest zip update :slight_smile:

Nav

1 Like

Did you make sure the “ARKit uses Face Tracking” checkbox was off in the settings?

1 Like

Yes I followed your images exactly and made sure to check only the ‘App Requires ARKit’ box and left the other one unchecked.

Anyone know if this can be easily merged with the experimental AR interface repo?

Have not tried it, but the ARKit plugin is a separate drop-in project for that repo - so you can try deleting the UnityARKitPlugin folder and updating it with latest. It should just work.

If we go the privacy policy route (avoiding import of the new plugin at the last minute) is it just a matter of defining the url in the app store parameters pointing to our companies privacy policy page? Do you know if it has to be linked from within the app too or is the itunes connect URL reference sufficient?

I’m not sure they will let that pass - from new message someone else was getting, they would like you to disclose what you’re using the TrueDepth API for as well. If you’re not actually using it, they would like you to remove it.

Our privacy policy specifically mentions the use of the camera and anything collected by the TrueDepth API… wondering if that will help us?

Our issue with upgrading the plugin is with the way that MultiARManager (a unity asset using an old version of Unity’s plugin). MultiAR displays a point cloud on tracked points / surfaces during the initial phase of our app. These are invisible or do not render at all when using the updated ARKit plugin. While we track down what is going on we are trying to push a working version to the store.