IOS11 ARkit?

Hey, so due to corporate environment I could not install high on my. I literally just received a loner with high and I’m jumping back on this project to figure out it out.

Every Engine has serious issues with Xcode, and support. Beta is even worse. I’ve been skipping this Arkit beta for about another month.
Right before the great Iphone release. Everything will be fuunctional.
When the official Xcode beta ends. I guarantee you. Xcode will say. No new source files needed.
Then. You have 258 new compiler errors. A build only device cannot be run to use this target. Could not locate device support files. App installation failed.
Apple creates p8 certificates, and then decides p12. At the next Alpha build of xcode. You may see p14.
As if trying to compile isn’t difficult enough. Xcode must really enjoy saying deprecated. It’s the most hated word in my life.
MACINTOSH: Stands for… Most Applications Crash; If Not, The Operating System Hangs.

Things will get better, I promise.

Hey guys so I think I figured out how to get it working.
Instead of building it on my with Xcode, I pulled the branch 4.17 on my Windows machine.
From there I compiled the source code and then pulled the branch dev-ar-kit and generated the project files.
I then ran the 4.17 engine that I compiled from source and opened up the ARKitSample project that we generated from the dev-ar-kit branch.
Once that was open I set up remote building to my machine I was using. After the setup for that was done I proceeded to build the sample project and everything built correctly to an .ipa
I am currently updating my iOS devices and going to try installing it to them. I’ll update here if it works or not.

EDIT
So I tried installing the .ipa that was generated and it seems to fail for all supported iOS versions and iOS 11 beta 4
during the install I get the following error at 30%, ‘Install \ Update of ‘ARSample.ipa’ failed with unkown error 0xE000067 in 5.43 seconds’
Is anyone else experience the same issue?

I am able to grab 4.17, add the ARKit plugin and compile and run on device. But I don’t see any ARKit features. The only trick I had to do was rename xcode-beta to be xcode as was mentioned earlier.

I turned off the virtual joysticks but not certain if we need some other features turned on. The camera for example isn’t showing through the scene.

Is there something needed in the scene to make it actually show the camera feed and generate the anchor plane as was described in the original demo? We have ARKit running fine on the device and have built Unity on it without trouble so know it is not the Xcode or iOS versions.

Exact same setup and same error. The error only happens if you compile the project for iOS 11 beta - it isn’t even possible to push the app over iTunes to the iPhone because iTunes says that the firmware of the iPhone is too low, even when installing iOS 11 beta 5.
I tried compiling the sample for iOS 10, I then can push the app to my iPhone but the camera gets all flashy - maybe it’s possible to push the app (compiled for iOS 11) to the phone via iTunes on a but didn’t have a chance to test that yet.

Oh! I’ve run into this. There is a bug in the Engine. It’s not putting the correct version in the plist file. You’ll need to modify the UEDeployIOS.cs file so “11.0” is written instead of “IOS_11”.

Here’s my diff:

Engine/Source/Programs/UnrealBuildTool/IOS/UEDeployIOS.cs



@@ -302,6 +302,9 @@ namespace UnrealBuildTool
 					case "IOS_10":
 						MinVersion = "10.0";
 						break;
+					case "IOS_11":
+						MinVersion = "11.0";
+						break;
 				}
 			}
 			else
@@ -527,7 +530,9 @@ namespace UnrealBuildTool
 			Text.AppendLine("	<array>");
 			Text.AppendLine("		<string>iPhoneOS</string>");
 			Text.AppendLine("	</array>");
-			Text.AppendLine("	<key>MinimumOSVersion</key>");
+			// cas072617 - uh Apple says not to use this key... 
+			//Text.AppendLine("	<key>MinimumOSVersion</key>");
+			Text.AppendLine("	<key>LSMinimumSystemVersion</key>");
 			Text.AppendLine(string.Format("	<string>{0}</string>", MinVersion));
 			// disable exempt encryption
 			Text.AppendLine("	<key>ITSAppUsesNonExemptEncryption</key>");



Check out the ARSample in the dev-ar-kit branch. You’ll need a skysphere, i.e. giant sphere static mesh, with the special ARKit material, ARCamera_M, applied to it.

Your player pawn should also have an AppleARKitCameraComponent added to it.

Thanks Christian.

I see the AppleARKitCameraComponent and can create a skysphere but I don’t see the ARCamera_M material anywhere.

I did find there is a ARKitCameraTexture that I can apply to a material. Going to try that out.

UPDATE: That is the right texture component. I see the camera feed applied to the skysphere. It is warped badly so I assume it needs to be sampled differently than the default. If anyone knows the appropriate settings for the material, please post it.

UPDATE UPDATE:
I did figure out how to get the content. You need to run the Setup.bat on the ARKit branch for github. It will pull down the content. It is not in the repo directly that I can see. I looked into how the texture worked and it is a very complicated texture function that does all the math to map it from the camera. There is no way you will easily figure out it on your own given the sparse documentation. You will need to get the sample project.

Thank you so much for showing me this Christian!! I was finally able to compile my project and package it to my device properly. However I’m now having an issue where the entire screen is rendered black and occasionally a blue flicker comes onto the screen. I was curious if you had this same issue? I’m thinking it might be because unreal engine isn’t using Metal 2 when compiling but I’m not too sure if that’s the main cause.

We were able to get the base project running on both iPhone 6 and old iPad air just as default. We didn’t change the Metal settings.

However, once updated to ios 11 beta 5, they killed off support for those two devices. It still runs but says the “configuration is not supported for this device” and just shows a black screen. Check the log. If on latest you need an iPhone 6s or better.

Yep. This is currently an ARKit requirement. From the docs, “ARKit requires an iOS device with an A9 or later processor.”

Thanks, I now can push the app to my iPhone when compiling for iOS 11, but I still cannot see the camerafeed in the app… The app just flickers blue after I grant it the camera permission…

Yes I have the exact same problem…

I can’t access the ARSample project

Is there anyone here that can list out the steps necessary to go from empty mobile project to buildable ARKit project?
My build crashes on launch of the app (on iPhone 7Plus)
I have the Mobile starter content project. (The project with the Table and two chairs.)
I removed the standard sky sphere and replaced it with a new SM_SkySphere
I then build a new texture material using AppleARKitCameraTexture in a TextureSample Node feeding the BaseColor property of the Root Material node
I apply this material to the SM_SkySphere material property.
I Added AppleARKitCameraActor and made it a child of the PlayerStart Actor (Don’t know if this is an issue)
I deleted the atmospheric fog

Other that that i kept the Mobile starter project as is.

I changed the project settings to use Metal 1.2 renderer as well as setting the iOS target to 11.0. My phone is using the latest iOS 11 beta.
Am I missing something?

Has anyone managed to remote build the AR sample from a Windows machine? I can build it separately on a Macbook using the 4.17 binary engine, but trying to include anything ARKit on the Windows machine and then building it remote just crashes the game after the splash screen is shown on device.

Why can’t you access the ARSample - make sure you run the Setup.sh inside the ar-kit branch so everything gets downloaded.

With 4.17 binary I can build the ARSample via remote compiling - however the camerafeed doesn’t work in the app and I only see a black screen with a cube (that appears to be tracked correct by the sensors) and it occasionally flickers blue.

By the time I had cloned the AR-Kit branch, Epic had pulled it. The I have already run the setup.sh as well as the GenerateProjectFiles command. Running these commands does not generate an ARSample project, however. I have noticed several other people having this same problem

Ah then it’s not just me, thanks for the info.

Why do I pack ARKit to iOS and run back to the home screen in seconds?