User Manual
ARDK Setup
Getting Started with ARDK - Get started with developing AR experiences with ARDK.
ARDK Downloads - Downloads page for ARDK.
Adding ARDK to Unity - How to import ARDK into Unity.
Authentication - How to retrieve an authentication token configured with your API key.
Building for iOS - How to build and deploy your ARDK app to iOS devices.
Building for Android - How to build and deploy your ARDK app to Android devices.
Using ARDK’s Feature Managers - The Manager components provide simple Unity-friendly ways to access ARDK features.
Subscribing to ARDK Events - Get notified when AR and networking events relevant to your experience occur.
Development and Runtime Requirements - ARDK requirements for Mac, iOS, and Android.
Validating Device Requirements - How to check a device for AR support and update software.
Permissions - How to handle device permissions required for some ARDK features.
Using ARDK User IDs - How to maintain data privacy best practices by setting User ID information used in ARDK requests.
Upgrading ARDK - How to upgrade your Unity ARDK project to a new version of ARDK.
Using ARDK Logging - How to use ARDK logging in your Unity project.
AR Fundamentals
Creating an AR Session - How to create an AR experience with the ARSession class.
Tracking AR Anchors - Designate and track points of interest in the physical environment.
Detecting Planes - Detect and interact with real-world planes to create a more immersive AR experience.
Detecting Images - Search for images in the real world and use them for a variety of AR effects.
Hit-Testing - Using a screen location, find points on real-world surfaces and objects.
Contextual Awareness
Depth
Generating Depth Data - Take advantage of depth maps to create immersive AR experiences.
Depth-Based Occlusions - Place or move content behind real world objects without breaking immersion.
Point Clouds - Turn a depth buffer into a world-space point cloud.
Semantic Segmentation
Semantic Segmentation - Identify real world features in your scene.
Meshing
Meshing Overview - Understand what meshing is, what it’s best suited for, and how to best leverage its capabilities.
Getting Started - How to setup meshing or add meshing to an existing scene.
Addendum: Low Level Meshing - See an example memory layout of a low level mesh.
Gameboard
Gameboard - Use Gameboard to query the environment for object placement, procedural gameplay and character navigation.
Model Cards
Model Card: Person Segmentation - Understand the machine learning model used by the person segmentation feature of semantic segmentation.
Shared AR
Shared AR Overview - Use Lightship ARDK to create AR experiences that multiple users can participate in
Getting Started with Shared AR - Start creating shared AR experiences
Setting Up a Networked AR Session - Enable nearby players to join the same AR experience.
Localizing With a Shared Environment - Synchronize clients to a common object in their environment to ensure all clients can interact in a shared AR environment.
Localizing With Marker Sync - Synchronize clients using CV objects (such as QR codes) for fast join and sync in a shared AR environment.
Sharing Virtual Object Information - Share data between clients using the ARDK networking APIs
Understanding Networking and LLAPI - Using ARDK’s low-level peer-to-peer networking API for a fluid multiplayer experience.
Additional LLAPI Features - Learn about additional networking features available in the ARDK.
Networking Limits and Best Practices - Some networking nuances to keep in mind when creating networked logic.
Networking Error Codes - A list of the possible error codes surfaced through the
IMultipeerNetworking.ConnectionFailed
event.Serializing Data - Learn how to use helper functions to serialize data for
IMultipeerNetworking
.
Using the High-level networking API - Quickly create distributed, stateful gameplay with ARDK’s built-in high level networking API.
HLAPI Network Spawning - How network spawning works with the High-level network API.
HLAPI FAQ - Frequently Asked Questions about the High-level networking API.
Tutorial: Pong - HLAPI Version - How to create an AR ping-pong game using HLAPI.
Using both HLAPI and LLAPI - Things to consider if you have to use both HLAPI and LLAPI in your AR experience.
Placing Virtual Content - Understand how to place and orient virtual content in a Shared AR experience.
Scanning Framework
Scanning Framework - Use the Lightship ARDK to write code to scan locations using the device camera and use those scans in your app.
Getting Started with Scanning Framework - Learn how to introduce scanning into your app.
Scanning for VPS - Learn how to use the Scanning Framework to activate more locations for ARDK’s VPS functionality.
Scanning Settings - Learn how to customize your scan visualizations, scan processing, and about the IScanner interface.
Lightship VPS
Lightship VPS - Create immersive experiences in which your users interact with persistent, shareable AR content at real-world locations.
Getting Started - Get a quick overview of the steps you’ll need to take to start developing with Lightship VPS.
Geospatial Browser (Beta) - Search and find VPS-activated Wayspots across the globe.
Managing Private Scans - Use private VPS locations in your surrounding area to test with using the Niantic Wayfarer App.
Creating New VPS-Activated Wayspots - Submit Wayspot locations to Niantic.
Authoring Wayspot Anchors in Unity - Create Wayspot Anchors and save them to your Unity file or project, so that you can easily create experiences for VPS end-to-end, without needing to leave your home or office.
Building and Testing Apps with VPS - Tips on how to build and test your VPS apps.
Generating Scans for VPS - Use the Niantic Wayfarer app to view Niantic Wayspots, create Private Scans for Private VPS Locations for testing purposes, and test localization with VPS-activated Wayspots.
Using the VPS Coverage API - Use the VPS Coverage API to discover VPS coverage areas and VPS localization targets.
Localizing with VPS - Synchronize users to a VPS-activated Wayspot.
Using VPS Wayspot Anchors - Use the VPS Wayspot Anchors API to precisely place virtual objects that maintain a consistent, stable pose in an AR environment. Wayspot Anchors can also be restored in future VPS sessions and shared between users of your app.
Using WayspotAnchorService - Use
WayspotAnchorService
to create and restore Wayspot Anchors.Using WayspotAnchorController - Use
WayspotAnchorController
to create and restore Wayspot Anchors.
VPS Frequently Asked Questions (FAQ) - Answers to frequently asked questions about VPS.
Rendering
Rendering in ARDK - Customize how the camera feed is rendered in your app.
Using the Universal Render Pipeline - How to use
ARRenderingManager
with the Universal Render Pipeline.
Tools
Virtual Studio - Improve the experience of developing with ARDK using Virtual Studio.
Playing in Mock Mode - Use Mock mode to test without a mobile device.
Playing in Remote Mode - Use Remote mode to test on a device without redeploying to it.
VPS Remote Authoring - Use VPS Remote Authoring to author VPS content within Unity.
See Also