On-Device Object Tracking
On-Device Object Tracking anchors your AR content to a physical object using the processing power of the device itself, with no per-frame network request. The object's tracking data is compiled into an offline bundle, cached locally, and matched on-device.
This works the same way as On-Cloud Object Tracking, but all matching happens locally. For the shared concepts (object codes, anchoring content under the object space), see the Object Tracking sample scene.
On-Device Object Tracking is an Enterprise feature and requires the MultiSet-OnDevice.unitypackage. See Importing the On-Device Package.
Prerequisites
The MultiSet-OnDevice package imported into your project.
Your app's Bundle Identifier registered on the Developer Portal (matching your Unity project, for both iOS and Android). See Register Your App Identifier.
One or more objects with Object Tracking active on the MultiSet Developer Portal, each with a processed offline bundle.
Setup Guide
Step 1: Open the Sample Scene
Open the OnDeviceObjectTracking scene from MultiSet-OnDevice/Scenes/OnDeviceObjectTracking, and select the OnDeviceObjectTrackingManager GameObject in the Hierarchy.
Step 2: Configure Object Codes
On the OnDeviceObjectTrackingManager component, add the Object Code(s) you want to track to the Object Codes list. You can add a single code or multiple codes (the SDK will download and match each one).
Object Codes are issued by the Developer Portal once Object Tracking is active for an object.
Key parameters of the Object Tracking Manager:
Object Codes
One or more object codes to track.
Confidence Check / Confidence Threshold
Reject matches below the confidence threshold.
Background Tracking / Duration
Keep tracking running in the background for the configured duration.
Retracking
Resume tracking when the user returns to the object.
Show Alert
Show tracking success/failure UI alerts.
Step 3: Anchor Your Content
Add your AR elements as children of the objectSpace -> {ObjectCode} GameObject, positioning your content relative to the object mesh, exactly as with On-Cloud Object Tracking. See Object Tracking for details.
Step 4: Choose a Bundle Management Mode
Object tracking data is downloaded as an offline bundle. The Offline Bundle Download Mode setting controls how the device gets it.
Option A: Editor Mode (Embedded)
The bundles are downloaded in the Unity Editor and built into the application.
In the Inspector, set Offline Bundle Download Mode to Editor.
Click Get Object offline Bundles & Metadata. The SDK fetches each object's status and automatically downloads the available bundles and metadata into StreamingAssets/ObjectData.
Wait for the status to report all objects downloaded successfully before building.
Option B: Runtime Mode (On-Demand)
The application is built without the object data; the SDK downloads each bundle from the MultiSet servers on first run and caches it on the device.
In the Inspector, set Offline Bundle Download Mode to Runtime. No editor download step is required.
In Editor mode, downloaded object bundles are stored at StreamingAssets/ObjectData/{objectCode}.bytes along with a matching {objectCode}_metadata.bytes file. In both modes, files are cached locally and do not need to be downloaded again unless the object is updated.
Licensing & First Run
As with On-Device Localization, the very first launch (or first initialization of the On-Device module) requires an active internet connection to verify your account and registered App Identifier and to download the object assets. This may take some time depending on the asset size. Subsequent runs work without internet, as the license token and assets are cached locally.
Build
Before building, make sure the OnDeviceObjectTracking scene is added to your Build Settings, and that you have either downloaded the bundles (Editor mode) or selected Runtime mode. Then build for iOS or Android. See Importing the On-Device Package for native plugin details and Building Steps.
Last updated
Was this helpful?

