Skip to content

On-Prem Advanced Model Targets - Beta

Create instantaneous Advanced Model Targets locally without uploading 3D data to the cloud.

Introduction to On-Prem Advanced Model Targets.

On-Prem Advanced Model Targets work the same way as Advanced Model Targets being detectable and tracked from any side of the object it matches. At this point, only the OBSERVATION Advanced View preset is supported, which is sufficient for most use cases.

On-Prem Advanced Model Targets are for developers looking to use Advanced Model Targets without uploading their 3D CAD data to the cloud.

If you would like to participate in the On-Prem Advanced Model Targets beta program, please email vuforia-feedback@ptc.com.

Prerequisites and Limitations

In this beta, only the following platforms and versions are supported:

Device support

  • iPhone 12+
    • Requires iOS 18+.
    • iPhone 15+ is recommended for best performance.
  • iPad support:
    • iPad Pro 5th Gen and later (recommended).
    • iPad 10th Gen and later.
    • iPad Air 4th Gen and later.
    • iPad Mini 5th Gen and later.
    • iOS 18+.

On any other devices, the On-prem Advanced Model Target will behave just as a standard (non-Advanced) Model Target. For that purpose, a fallback Guide View can be specified during Model Target generation.

Workstation support

  • Target Generation using the Model Target Generator and Model Target CLI:
    • 64-bit, Windows 10 (1809) or later.
    • Linux Ubuntu systems 20.04 or later.
    • MacOS 15.0 or later.
      • Requires M1 chip or newer.
  • Testing using Unity Play Mode:
    • MacOS 15.0 or later.
    • Requires M1 chip or newer.

We recommend running the MTG or MTG CLI in an environment using a CPU with multiple physical cores to support multithreading.

Generation support

Only the OBSERVATION preset is supported.

The On-Prem Advanced Model Target must be generated using the latest (11.1+) Model Target Generator and Model Target CLI tool.

The feature requires two plugin files named onprem-amt-plugin-v1.arc and onprem-amt-cli-plugin-v1.arc that will be provided to Beta participants.

Downloads

Model Target CLI

  • MacOS
  • Windows
  • Linux

Vuforia Engine SDK iOS

Vuforia Engine Unity Extension

Generate an On-Prem Advanced Model Target

Model Target Generator

Once you are enrolled in the beta program for On-Prem Advanced Model Targets, you will be able to use the Model Target Generator to create such targets locally.

Steps:

  1. Add the onprem-amt-plugin-v1.arc and onprem-amt-cli-plugin-v1.arc files to the application resources folder of the Model Target Generator. Make sure to update the plugins if you upgrade to a newer version of Vuforia Engine.

    For Windows: Place the files in your \Users\<user>\AppData\Roaming\PTC\Vuforia\ folder.

    For Mac: Both files need to be placed in your /Users/<user>/Library/Application Support/PTC/Vuforia/ folder. By default that folder is hidden, use Command + Shift + . in Finder to unhide it.

    .arc file placements in MTG on Mac

  2. Import the CAD model as for any other Model Target and follow the steps in the Model Target Generator.

    NOTE: Simplification of complex models currently still requires uploading the CAD model to the secure Vuforia cloud.

  3. In the Guide Views tab, select Create On-Prem Advanced View (Beta)

    Create On-Prem Advanced View (Beta)

  4. Currently, only the Observation Preset is available.

    Observation preset for On-Prem Advanced Model Targets

  5. In the next step, a fallback Guide View can be defined. This will be used on devices that do not support On-Prem Advanced Model Targets.

    Fallback guide view generation for On-prem Advanced Model Targets

  6. Confirm the Observation preset and generate the Model Target.

The following files are generated in the output folder:

  • DAT
  • XML
  • onprem-amt-plugin-v1.arc
  • Unity Asset Package, which also contains a copy of the ARC file.

Model Target CLI

Run the Model Target CLI from a terminal or shell window. Make sure to add the onprem-amt-plugin-v1.arc and onprem-amt-cli-plugin-v1.arc files to the resources folder of the Model Target CLI.

For MacOS, you might need to allow running untrusted software: https://support.apple.com/en-us/102445

Steps:

  1. Execute the following:

    For Windows/Linux

    OfflineModelTargetGenerator --advanced -i viking_lander.json -vu <username> -vp <password>
    
    For Mac
    ./OfflineModelTargetGenerator --advanced -i viking_lander.json -vu <username> -vp <password>
    

    1. The password and username are associated with your Vuforia Developer Account. Alternatively, Oauth credentials can be used as well.
  2. The JSON file must specify the OBSERVATION preset. Here’s an example:

    {
        "name": "KTM",
        "targetSdk": "10.29",
        "models": [
        {
            "name": "viking_lander",
            "cadDataUrl": "c:/Temp/MyModels/viking_lander.glb",
            "upVector": [0, 0, 1],
            "views": [{
                "name": "viewpoint_0000",
                "recognitionRangesPreset": "OBSERVATION",
                "targetExtentPreset": "FULL_MODEL"
            }]
        }
    ]
    }
    

The following files are generated. Add -o with a folder path to change the output file directory.

  • DAT
  • XML
  • onprem-amt-plugin-v1.arc
  • Unity Asset Package, which also contains a copy of the ARC file.
1
2
3
4
5
6
7
8
9
[OK] Model Target dataset creation STARTED
[OK] Model viking_lander has 10 parts and 44852 triangles.
[OK] Skipping Coloring Step
[OK] Successfully created DAT file './Viking Lander.dat'
[OK] Sent analytics to server
[OK] Model Target Unity dataset creation STARTED
[OK] Model Target Unity dataset creation FINISHED
[OK] Created package file './Viking Lander.unitypackage'
[OK] Model Target dataset creation FINISHED

NOTE: Analytics only contain data on authentication credentials and associating generations with the Vuforia Developer account.

Test Your Model Target

To run On-Prem Advanced Model Targets, the plugin file onprem-amt-plugin-v1.arc (~115 MB) must be added to the app (either next to the dataset or in a dedicated plugin directory).

First launch

The first time you load your app, there will be a noticeable startup delay during runtime, which can last a few seconds. This is due to the plugin file being imported. The second launch should run faster.

Run in Vuforia Creator App

This feature requires an up-to-date version of the Vuforia Creator App (11.0 or later).

  1. Download the Vuforia Creator App from the Apple store.
  2. Add the generated DAT file to the Assets folder. See Import and Test Assets for details.
  3. Similarly, the onprem-amt-plugin-v1.arc plugin file needs to be imported.

    Import the dataset and plugin into the Creator App

  4. In the main menu, select the added Model Target to test detection and tracking from any angle with the physical object.

    Test detection and tracking on the physical object

Run in Unity

On-Prem Advanced Model Targets have the same authoring workflow as Advanced Model Targets. The only difference is the requirement of adding the plugin file.

NOTE: On-Prem Advanced Model Targets in play mode only work on MacOS (15+) on Macs with an M1 chipset or later.

  1. Import the latest Vuforia Engine Unity extension into your Unity project.
  2. Import the Unity Asset package of your generated On-Prem Advanced Model Target into the project.
  3. Ensure that the onprem-amt-plugin-v1.arc plugin file exists in Assets/StreamingAssets/Vuforia/.
  4. Add an ARCamera GameObject.
  5. Add a license key to the Vuforia configuration.
  6. Create a ModelTarget GameObject and select the database and target name in the Inspector.
  7. Verify that the editor shows a preview of the 3D model.
  8. Ensure that the Model Target is tracked in play mode (MacOS only).
  9. Build to your iOS device.

    On-Prem Advanced Model Target setup in Unity

The first launch is expected to take longer. See the section Test Your Model Target for details.

You only need one copy of the onprem-amt-plugin-v1.arc plugin file regardless of how many Model Targets you use in the application. Vuforia Engine expects, by default, the plugin file to be next to the Model Target dataset when loaded. If you load Model Target datasets from different locations or from dynamic paths at runtime, then the plugin needs to be placed in a configurable plugin directory. By default, that directory is Assets/StreamingAssets/Vuforia/ in your Unity project.

Run in Native sample app

The Vuforia Engine Native Sample app can be modifed to load your On-Prem Advanced Model Target:

  1. Download the native sample app for iOS.
  2. Add the generated XML and DAT dataset in the Assets/ModelTargets folder.
  3. Replace the strings for the vuModelTargetConfigDefault().

    1
    2
    3
    4
    5
    VuModelTargetConfig modelTargetConfig = vuModelTargetConfigDefault();
    
    modelTargetConfig.databasePath = "VuforiaMars_ModelTarget.xml";
    modelTargetConfig.targetName = "VuforiaMars_ModelTarget";
    modelTargetConfig.activate = VU_TRUE;
    
  4. The onprem-amt-plugin-v1.arc file must be placed in a common folder or next to the On-Prem Advanced Model Target database. If using a common folder, the path to the plugin file must be configured in the Vuforia Engine config during initialization.

    1
    2
    3
    4
    5
    6
    7
    VuEngineConfigSet* configSet = nullptr;
    VuResult vuResult = vuEngineConfigSetCreate(&configSet);
    assert(vuResult == VU_SUCCESS);
    VuPluginConfig pluginConfig = vuPluginConfigDefault();
    pluginConfig.pluginDirectory = "<PATH_TO_COMMON_FOLDER>";
    
    vuEngineConfigSetAddPluginConfig(configSet, &pluginConfig);
    
  5. Add a license key to the constexpr char licenseKey[] = "";.

  6. Build to your iOS device.

Specific API

VuPluginConfigDefault and VuPluginConfig are functions that specify where Vuforia Engine should look for plugins.

Use vuEngineConfigSetAddPluginConfig() to set the directory. If no directory is specified, Vuforia Engine will search in the directory of a created Model Target Observer.

Learn More

Advanced Model Targets

Model Target CLI

Model Targets in Unity