ARKit app rejected because of TrueDepth APIs usage

My project also did not use ARKit but was rejected due to the binary’s linking to TrueDepth. My understanding is that Epic & Apple have been discussing this, because my app was then approved. I mentioned this thread to the folks at Apple. I think their conversation has cleared the way for those of us using 4.19.2 to move forward.

Hey @Doctor-g. I noticed on your other thread here than you disabled ARKit plugin in the engine but it made no difference to you. So my question would be then, should I disable ARKit, rebuild, then submit to Apple, or just reply to their comments to point them at this thread see what they say? It’s currently enabled in the build they have, even though I’m not using it - (because I wasn’t aware it was even in there by default).

If you disable the plugin and package a build, that will remove the APIs. You do need to repackage though.

Hi joeGraf - thanks for the update - I’ve done that and sent to Apple.

I can confirm that disabling ARKit plugin gets it through Apple submission, my game is now Pending Developer Release. Thanks for the help.

Yes, just to confirm: At first, disabling the plug-in did not work for me. Then I got in touch with the kind folks at Epic, and they were concurrently having discussions with Apple. When I resubmitted, my app was accepted. Cheers!

Thanks a lot.

I replaced engine source to both files of and 20secondstosun.

After that, our app (rejected because of TrueDepth API) was accepted by Apple!

I am stuck with the same TrueDepth problem.

I am on 4.21.1, I thought updating would fix it but no, I tried like umeruma to use both and 20secondstosun Fix but Xcode (on Mac for ios) can’t compile, error like “ARKIT_Support not defined, evaluates to 0”

Is your fix compatible with 4.21.1?
Note that I have no knowledge in Xcode or Visual studio other than setup the UE4 Source

If you upgraded your project from a previous version, it does not clear the plugins that were enabled by default and no longer are. Make sure your Apple ARKit Face Support plugin is not enabled.

These codes may not be​​ compatible with 4.21.x.
As joeGraf says, check your ARKit Face Support plugins is disabled.

I think TrueDepth API problems was fixed by this commit https://github.com/EpicGames/UnrealEngine/commit/337eeae607a057b45e2abdec16b4b4b9aade8951 .
So v4.20.x, and v4.21.x should work fine without patches.

On v4.19.2, those codes solved this problems.
I applied these codes to v4.19.2 codes and pushed to a repository forked from UnrealEngine’s as below.
https://github.com/umeruma/UnrealEngine/tree/4.19_ARKitFix
With this engine codes, I have built an iOS application using ARKit without TrueDepth API, and released it on AppStore.
(Note: In order to access the UnrealEngine’s repository, you need to be registered as an UnrealEngine developer member. )

Apple ARKit is off since the begining, do I have to turn it on to turn off Face Support in it?

I installed the new version of UE4 from Github 4.21 Branch. This should include the fix right? Apple still says TrueDepth is on. All this time Apple ArKit and Face support plugins are off.

Delete the directories in Engine/Plugins/Runtime/AppleARKit*
Then regenerate your projects and do a full rebuild of the engine

on 4.21.2 github version, I am still getting the same thing from Apple Review. Apple ARkit Face support is still present after a clean full rebuild.

I am sure the both ARkit and ARkit Face Support are off, however it was on sometime in 4.18-4.19 and was turned off.

How do I proceed to really clean it off? I would not mind deleting it completely from the engine if it’s a solution as i wont make AR games.

Just to update, even with both ARKit plugins removed from 4.21.2 Apple rejected the app for the same reason.

“This app makes use of ARFaceTrackingConfiguration and ARFaceAnchor which are considered to be TrueDepth APIs”

Which is weird as searching the ipa for “ARFace” returns nothing, the previous 4.19 did return a lot of matches. The plugins are not on or even present in the plugins list.

I have no idea what to do next.

It is still unresolved as of now, I have made a new post detailing the steps

https://forums.unrealengine.com/development-discussion/ios-development/1579756-app-rejected-due-to-truedepth-api-in-a-non-arkit-project

In my case starting at version 4.21 it was enough to deactivate the Apple ARKit Face Support Plugin