Table of contents
- Vuforia Engine in Unity
- About Vuforia Engine
- Adding Vuforia Engine
- Vuforia Engine Setup
- Adding Vuforia Engine Features
- Adding Digital Assets
- Print Physical Targets
- Playing the scene
- Building and running your app
- Configuring a project for Digital Eyewear
- Next Steps
Vuforia Engine in Unity
The Unity Editor is a popular and useful authoring platform to create cutting edge augmented reality experiences for both handheld devices and digital eyewear. Visit https://unity.com to download and set up Unity. Add Vuforia Engine to any project, or add our Core Samples that is available in the Unity Asset Store to get you started.
NOTE: If your project targets Android API level 31 or above we recommend updating to Vuforia Engine 10.8 or later. Updating will automatically add the manifest permission to allow data retrieval from sensors on Android devices using the VISLAM. Or, you can manually add the permission
android.permission.HIGH_SAMPLING_RATE_SENSORS in the manifest file in Unity.
About Vuforia Engine
Vuforia Engine is a software development kit (SDK) for creating Augmented Reality apps. With the SDK, you add advanced computer vision functionality to your application, allowing it to recognize images, objects, and spaces with intuitive options to configure your app to interact with the real world.
Vuforia Engine supports AR app development for Android, iOS, Lumin, and UWP devices. See: Vuforia Engine Supported Versions
This Getting Started guide will show you:
- How to add Vuforia Engine to your Unity project.
- How to set up Vuforia Engine’s Image Targets in Unity.
- How to add content and test your AR app.
Adding Vuforia Engine to a Unity project
The Vuforia Engine is available as a .unitypackage that can be imported into your Unity project from the menu Assets -> Import Package -> Custom Package.... Importing the package will let a script make the necessary changes in your Unity project to install or upgrade to the latest Vuforia Engine SDK.
Add or update Vuforia Engine to your Unity Project (SDK Downloads)
The package will automatically add the latest Vuforia Engine version to your Unity project. For more details, please see Vuforia Engine Package Hosting for Unity.
To manually check if new updates are available, go to Help -> Vuforia Engine -> Check for Updates:
Vuforia Engine Setup
The Vuforia Engine is visible in the GameObject Menu after it was imported.
If this menu is missing, it could mean that the Vuforia Engine was not imported correctly.
Each scene that tracks and renders augmented content requires an ARCamera GameObject and support apps for both handheld devices and digital eyewear.
- Add an ARCamera GameObject from the Vuforia Engine menu.
- Select the ARCamera and Open Vuforia Configuration (CMD+Shift+V or Ctrl+Shift+V) from the Inspector.
- Add a Vuforia Developer license key in the App License Key field. Add License opens the License Manager in a browser window. For a guide on getting a license key, see Vuforia License Manager.
Tip: You can delete the default Main Camera after adding an ARCamera. The ARCamera contains its own Camera component. The Main Camera is not needed unless you are using it to render a specific camera overlay, e.g., user interface or minimap.
Adding Vuforia Engine Features
After activating Vuforia Engine in Unity, you can add features from the Vuforia Engine menu to your project from the Unity GameObject Menu.
Please refer to Features Overview for more information on all of the capabilities offered by the Vuforia Engine.
You can also add the Vuforia Core Samples from Unity’s Asset Store. The Core Samples include and demonstrate many of the Vuforia Engine Features. The steps below continue to set up a basic Vuforia AR scene.
- Navigate to the Vuforia Engine Menu and select Image Target. or any of the other targets you wish to use. Guides for using other targets are available from the Features Overview linked just above.
Each Vuforia Engine GameObject is configured in the Inspector. When a target is added, it will appear in the Hierarchy.
- Select the Image Target GameObject from the Hierarchy and choose from the Type dropdown either
- From Image – Please see Instant Image Targets on further steps from here.
- From database – Image Target databases can be made in the Vuforia Target Manager.
- Cloud Reco –Recognize and track millions of Image Targets stored in the cloud. See Cloud Recognition for more information.
- In this example, we select From Database.
There isn't currently a database with Image Targets in the project. Vuforia will therefore ask you if you wish to Import Default Image Target Database in a pop-up window.
- Click Import.
- On most Vuforia targets, you can set an Optimize Tracking For mode that improves tracking for special use cases. Select between Default and AR_Controller. Model Targets have an additional mode: Low_Feature_Objects. See Optimizing Model Target Tracking for information on the modes
TIP: Always maintain an accurate scale between the Vuforia targets and the physical prints or objects. Using targets that deviate in size from the real-life object might impact the tracking quality. See Virtual Scene Scale in Unity for more information.
All Vuforia Targets include the following:
- Vuforia <target type> Behaviour component lets you choose your target from a database and configure the target’s properties.
- <target> ObserverEventHandler that lets you assign events and rendering conditions based on the tracking information returned by its Status and StatusInfo.
- Target preview that lets you control whether the target preview should be visible in the scene during authoring.
On many Vuforia Targets, you can Add Occlusion Object and Add Target Representation. They are created as a child of the target.
- The Occlusion Object adds a GameObject of the model with an occlusion material that lets your object visually obstruct digital content.
- The Target Representation adds a GameObject of the model with the original material and mesh of the target and is useful for applying shaders, colliders or to highlight parts of the tracked object.
NOTE: Virtual Scene Scale will not re-scale the occlusion object or target representation. Add the objects again after you have applied the value to the Virtual Scene Scale Factor.
NOTE: Area Targets are created with a pre-computed preview mesh. The settings to add occlusion or colliders are available in the AreaTargetBehaviour component. See Area Targets in Unity for details.
Upgrade your Vuforia target previews
From Vuforia Engine SDK 10.8 and forward, the Vuforia target preview representations are changed to improve the development workflow. Upgrading your project to the latest SDK, will display a message on your Vuforia Targets asking you to Upgrade This Target or Open Upgrade Dialog.
Click the Upgrade This Target to upgrade the target to the new representation setup. See Adding Vuforia Engine Features on how that looks.
IMPORTANT: Upgrading alters the Vuforia target by removing the old preview that is a child of the Vuforia target. Pointers and references to the old preview should be updated to use a Target Representation instead.
Click the Open Upgrade Dialog to update all former previews in the scene or all former previews in all scenes in the project.
Adding Digital Assets
Add digital content to your target as children of the Target. In this way, augmented content is only showed when that target is tracked.
- Add content as a child of the target by dragging your content on top of the target.
- Add a simple Cube from GameObject -> 3D Object -> Cube or place content from Unity’s Asset Store or from our Core Samples as pictured above.
- See also the Vuforia VFX Library for free assets and shaders to style your AR app
Print Physical Targets
A Vuforia target is in most cases, a physical print or object. If you have imported the Core Samples, you can find these in /Editor/Vuforia/ForPrint as PDFs. All printable Vuforia targets are also available here: Printable Target pdfs
Print without scaling.
Playing the Scene
To see your scene in action you can use the Vuforia Engine Play Mode in the Game View that you can activate by pressing the Play button. You can use this feature to evaluate and rapidly prototype your scene(s) without having to deploy to a device.
Play Mode is configured in the Vuforia Configuration section and you may use a webcam, simulator mode, or recording mode to test your Vuforia targets. See Vuforia Play Mode in Unity for more information.
Building and running your app
Vuforia Engine-powered Unity apps are built and run in the same way as other Unity apps for Android, iOS, and UWP.
See Unity’s tutorial on build for mobile and their documentation for build settings on all supported platforms.
Configuring a project for Digital Eyewear
Vuforia Engine supports a variety of optical and video see-through stereo rendering displays, including HoloLens, Magic Leap and Vuzix M400. Refer to the Digital Eyewear article for more information.
Vuforia Engine Package Hosting for Unity
Working with Vuforia Engine in Unity
How to Create and Load Targets in Unity
Virtual Scene Scale Factor in Unity
Building Large Vuforia Engine Apps in Unity
How to Use Vuforia Engine and AR Foundation in the same Unity Scene