Fixed an issue which prevented building on non macOS platforms due to inability to detect the target Xcode version.
Fixed incorrect reporting of tracking state for ARHumanBodies
ARKit Face Tracking
Fixed an incorrect face rotation when using the rear camera feed.
Correctly report the supported number of simultaneously tracked faces. Previously, ARFaceManager.supportedFaceCount would always return the supported number of tracked faces in front-facing camera mode. The value reported now depends on the current configuration since, in rear-facing camera mode, the number could be different.
ARCore
Updated to ARCore 1.12
Support 60 fps devices
Fixed an issue where generating a reference image library could fail with “Access denied” on macOS and Linux. This was because spaces in project paths were not handled when setting execution privileges for arcoreimg on macOS and Linux.
The GPU camera texture dimensions were incorrectly reported as the current screen dimensions. This has been fixed.
The build could fail if reference images used for image tracking had a non-lowercase extension. This has been fixed.
Fixed a potential crash when changing image libraries.
2019-09-27
ARFoundation 3.0.0-preview.3 is now available. Notable improvements:
Improved synchronization between Unity’s frame and the AR frame.
Support both linear and gamma color spaces
ARKit
Xcode 11 (released, non-beta) support
ARCore
Fixed image tracking when building with IL2CPP
2019-09-06
ARFoundation 3.0.0-preview.2 is now available. Notable improvements:
We’re trying to keep all package versions in sync to reduce confusion, even if nothing has changed in that particular package. That means ARFoundation, ARKit, ARKit Face Tracking, ARCore, and ARSubsystems are all at 3.0.0-preview.2.
ARFoundation
Fixed an issue where the screen would flash green before the first camera frame
Removed dependency on the Legacy Input Helpers package. The ARFoundation samples used the Tracked Pose Driver to update the camera’s position according to the device pose. This is still supported, but no longer required (there’s a new “AR Pose Driver” component included in ARFoundation).
Compatible with Xcode 10+ (previously it required 10.3+)
Some issues with linker errors and bitcode have been fixed
ARKit Face Tracking
No change
ARCore
No change
ARSubsystems
No change
2019-08-28
ARFoundation 3.0.0-preview.1 is now available. Some notable improvements:
We’ve bumped the version numbers of all packages to 3.0.0-preview.1
There are a couple of very minor breaking changes (see the migration guide)
Added support for LWRP and UniversalRP (finally!). Click here for step-by-step instructions.
ARKit
The ARKit XR Plugin and ARKit Face Tacking packages now support both ARKit 2 and ARKit 3 simultaneously. We still have separate libs, but we select the appropriate one based on the version of Xcode selected in your Build Settings. This should eliminate the confusion over which package version is compatible with which Xcode version.
Added support for camera exposure duration and offset
Added support for adding new image tracking reference images at runtime
Added support for eye tracking
This version requires 2019.2+. Older versions that are compatible with 2018.4 Long-Term-Support will continue to receive bug fixes, but new features will not be back-ported.
Thanks, also - I read somewhere that both cameras cannot be used simultaneously. So can eye tracking be only used with the selfie camera, or is it possible to use the gaze data to raycast with the main camera?
In iOS 13 beta, it is possible to enable face tracking with the rear camera providing the camera feed and world tracking, so yes, I think that should be possible.
Hi! Are there any plans to implement camera calibrated post processing effects like the ones introduced with RealityKit? (Depth of field, motion blur, grain and color grading).
Are there plans to support ARKit 3 ARCoachingOverlayView?
Yes, we’re looking at those. They are difficult to implement purely in a package and may require some changes to Unity core, so it may take a bit longer to get these in.
For newcomers like me!
if you struggle to find the new ARFoundation 3.0.0 preview version, From Window > Package Manager, select “Advanced” and enable Preview versions.
Just tried to build the ARFoundation Samples git repo w/ ARFoundation 3.0 preview, and Unity 2019.2.2f1, just a vanilla TogglePlaneDetection.unity scene. Getting this on build:
/clang:-1: linker command failed with exit code 1 (use -v to see invocation)
Doesn’t give me more specific details. Any suggestions for how to debug further? XCode 10.1.
Edit: To test, rolling back to ARFoundation 2.1 and 2.1 samples, it still works. Presumably I didn’t misunderstand- isn’t the ARFoundation 3 preview intended to work with iOS 12 devices / / XCode 10 as well?
As per the image attached, if we put off the highlighted options then we are able to augment the 3D object(Face) but blend shape doesn’t work. And it’s vice versa.
Yes, it works for me on Xcode 10.3. If you updated a previous version of the samples, you will need to rebuild the Xcode project (“Replace” not “Append”).
I’m working to connect Unity with my Kotlin-based computer vision code for an Android application. To do this, I need to:
Access and configure an ARCore.ARSession object in Unity
Pass this same ARSession object to my Unity plugin (an aar written in Java/Kotlin).
Question: how can I get ARCore.ARSession to share the reference between my C# code and my Kotlin code?
Solutions I’ve considered or tried:
Passing the address of an ARSession instance created in Kotlin over to Unity and overriding the nativePtr value in ARReferenceObject.cs. I have not had success with this approach. (I can post the seg-fault log if you’re curious)
Porting my whole Java/Kotlin code to C# - super painful and would impact performance
One thought - For ARKit I was able to extend objective-c code in the ARKit Unity plugin (ARSessionNative.mm) with extern "C" functions that allow passing the Unity Session from the C# files to Objective-C in ARSessionNative.mm. Is there a way to do something similar using C code and the JNI?
Any advice/tips/stories of either accessing ARCore.ARSession in Unity and/or passing an ARSession reference from Unity to Kotlin/Java would be MUCH appreciated
Whoops. Yep. Was looking at the wrong screen. @tdmowrer
"UnityARKit.a(EventSystem.o) compiled with newer version of Swift language (unknown ABI version 0x07) than previous files (unknown ABI version 0x06) for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)"
So, looks like you compiled UnityARKit.a with Swift 5.0 or something, which doesn’t exist in my version of Xcode.