📱 Generic components for use with Unity's AR Foundation package
- Components
- Helper Components
- Event Components
- Extensions
{
"dependencies": {
"xyz.candycoded.arfoundation-components": "https://github.com/CandyCoded/ARFoundation-Components.git#v3.0.0",
"xyz.candycoded.candycoded": "https://github.com/CandyCoded/CandyCoded.git#v3.0.2"
}
}
See https://github.com/CandyCoded/ARFoundation-Components-Demo for a working example of the following steps.
- Install the latest ARKit XR Plugin, ARCore XR Plugin and AR Foundation (preview) packages from the Package Manager.
- Install both the ARFoundation Components and CandyCoded package (see above).
- Create a new AR Session Origin gameObject from the Create Asset / XR context menu.
- Select the AR Session Origin gameObject and attach the AR Raycast Manager component.
- Remove the Main Camera gameObject from the hierarchy (as the AR Session Origin contains its own camera).
- Create a new AR Session gameObject from the Create Asset / XR context menu.
- Create a new AR Default Plane gameObject from the Create Asset / XR context menu, drag it into the Asset panel creating a prefab and then remove it from the hierarchy.
- Attach the AR Plane Manager component to the AR Session Origin gameObject and drag the AR Default Plane prefab from the Assets panel into the Plane Prefab property.
- Change the Detection Flags to Horizontal (or whatever plane type you will target).
- Select the AR Camera in the AR Session Origin gameObject and change the Light Estimation Mode on the AR Camera Manager component to AmbientIntensity.
- Select the Directional Light gameObject and attach the AR Light Estimation component.
- Drag the AR Camera component into the Camera Manager property of the AR Light Estimation component.
- Attach the AR Plane Events and AR Place Object On Plane components to the AR Session Origin gameObject.
- Create a new Cube and set the scale to
Vector3(0.1f, 0.1f, 0.1f)
, drag it into the Asset panel creating a prefab and then remove it from the hierarchy. - Drag the Cube into the Object to Place property of the AR Place Object On Plane component and enable the option Place Multiple.
- Create a new event in the Plane Touched with Touch Position event section of the AR Plane Events component.
- Drag the AR Session Origin gameObject into the object field of the event.
- Select the ARPlaceObjectOnPlane > PlaceObjectOnPlane dynamic method from the dropdown.
- Check that the scene is in the Build Settings window.
- Change the build platform in the Build Settings window to iOS.
- In the Player Settings panel, make sure following settings are correct:
Setting | Value | Description |
---|---|---|
Camera Usage Description | AR BABY or any other string |
This value will display when the dialog asking for camera permission displays on device. |
Target minimum iOS Version | 11 or higher |
iOS 11 was the first version ARKit was available. |
Architecture | ARM64 |
The only iOS devices that support ARKit are built on ARM64 architecture. |
- Check that the scene is in the Build Settings window.
- Change the build platform in the Build Settings window to Android.
- In the Player Settings panel, make sure following settings are correct:
Setting | Value | Description |
---|---|---|
Graphic APIs | OPENGLs3 and remove Vulcan |
ARCore does not support Vulcan arcore-android-sdk issue #258 |
Minimum API level | Android 7.0 'Nugget' (API level 24) or higher |
Android 7 was the first version ARCore was available. |