For the complete documentation index, see llms.txt. This page is also available as Markdown.

Importing the On-Device Package

On-Device Localization and On-Device Object Tracking are delivered in a separate Unity package, MultiSet-OnDevice.unitypackage, that you import on top of the standard MultiSet Unity SDK. This package contains the native binaries, prefabs, editor tooling, and sample scenes needed to run localization and object tracking entirely on the device.

Prerequisites

Before importing the On-Device package, make sure your project already has:

  1. The MultiSet Unity SDK installed.

  2. The SDK Samples imported from the Unity Package Manager.

Once the SDK and its Samples are in your project, you can obtain the MultiSet-OnDevice.unitypackage and import it.

Step 1: Import the Custom Package

In Unity, go to the menu Assets > Import Package > Custom Package...

Assets > Import Package > Custom Package...

Browse to the downloaded MultiSet-OnDevice.unitypackage file and click Open.

Select the downloaded MultiSet-OnDevice.unitypackage

In the Import Unity Package dialog, keep all items selected and click Import.

Import Unity Package dialog

Step 2: Verify the Imported Folder

After import, a MultiSet-OnDevice directory is added under the Assets folder of your current Unity project. It contains everything required to work with On-Device Localization and On-Device Object Tracking:

  • Editor: Editor tooling for downloading offline bundles and validating builds.

  • Plugins: Native iOS and Android binaries (including multiset_ios.framework and the Android .so / .aar libraries).

  • Prefabs: OnDeviceLocalizationManager and OnDeviceObjectTrackingManager prefabs.

  • Scenes: The three sample scenes.

MultiSet-OnDevice folder under Assets

Sample Scenes

The package ships with three sample scenes under MultiSet-OnDevice/Scenes:

Scene
Purpose

OnDeviceLocalization

On-Device Localization into a Map or MapSet.

OnDeviceNavigation

On-Device Localization combined with NavMesh navigation.

OnDeviceObjectTracking

On-Device Object Tracking against one or more objects.

Use these scenes as a starting point. Open the one that matches your use case, set it up, and build to iOS or Android.

Native Plugins (iOS & Android)

All native plugin files required for On-Device Localization and On-Device Object Tracking, for both iOS and Android, are included in the package. You do not need to download or import the multiset_ios.framework (or any Android library) separately.

After import, the native binaries live under Assets/MultiSet-OnDevice/Plugins:

On iOS, the package includes a post-process build step that wires up the required system frameworks (such as DeviceCheck.framework) automatically when you build the Xcode project, so no manual Xcode configuration is needed.

In most cases the plugin import settings are applied automatically. If you need to verify them, select multiset_ios.framework in the Project window and confirm the iOS platform is enabled and Add to Embedded Binaries is checked, then click Apply.

Register Your App Identifier (Bundle ID)

For On-Device Localization and On-Device Object Tracking to work, your app's Bundle Identifier must be registered on the MultiSet Developer Portal. Only apps with a matching identifier are allowed to download and run offline maps and objects.

  1. In the App Identifiers section, register both your iOS Bundle ID and your Android Package Name.

  2. Click Add, enter the identifier in reverse-DNS format (for example, com.companyname.vps), and save.

App Identifiers on the Credentials > Settings page
Add an iOS Bundle ID (Reverse-DNS format)

First Build & Internet Requirement

When the app is built and launched for the first time, it requires an active internet connection to:

  • Verify your account and the registered App Identifier against the Enterprise License.

  • Download the map / object assets needed for On-Device Localization or On-Device Object Tracking (when using Runtime bundle mode).

This first-run download may take some time depending on the map size. After the assets are cached locally, subsequent runs work offline (no internet required).

Next Steps

Last updated

Was this helpful?