"We offer new support options and therefor the forums are now in read-only mode! Please check out our Support Center for more information." - Vuforia Engine Team

Failed to load dataset:

Hello! I can't download image target from the Application.persistentDataPath through VuforiaUnity.StorageType.STORAGE_ABSOLUTE. The path to the file is correct, checked through the DataSet.Exists, does not give an error. Help me please! Here is my script:

 

public class SDCardDataSetLoader : MonoBehaviour {     // specify these in Unity Inspector     public GameObject augmentationObject = null;  // you can use teapot or other object     public string dataSetName = "MM_Spaceport.dat";          void Start()     {          VuforiaARController.Instance.RegisterVuforiaStartedCallback(LoadDataSet);     }

    void LoadDataSet()     {         string pathDataSet = Application.persistentDataPath + "/" + dataSetName;

        if (!DataSet.Exists(pathDataSet, VuforiaUnity.StorageType.STORAGE_ABSOLUTE)) {             Debug.LogError("Data set " + pathDataSet + " does not exist.");             return;         } else             print("good path");

        ObjectTracker objectTracker = TrackerManager.Instance.GetTracker<ObjectTracker>();

        DataSet dataSet = objectTracker.CreateDataSet();

        if (dataSet.Load(pathDataSet, VuforiaUnity.StorageType.STORAGE_ABSOLUTE)) {             objectTracker.Stop();  // stop tracker so that we can add new dataset

            if (!objectTracker.ActivateDataSet(dataSet)) {                 Debug.Log("<color=yellow>Failed to Activate DataSet: " + dataSetName + "</color>");             }

            if (!objectTracker.Start()) {                 Debug.Log("<color=yellow>Tracker Failed to Start.</color>");             }

            int counter = 0;

            IEnumerable<TrackableBehaviour> tbs = TrackerManager.Instance.GetStateManager().GetTrackableBehaviours();             foreach (TrackableBehaviour tb in tbs) {                 if (tb.name == "New Game Object") {

                    // change generic name to include trackable name                     tb.gameObject.name = ++counter + ":DynamicImageTarget-" + tb.TrackableName;

                    // add additional script components for trackable                     tb.gameObject.AddComponent<DefaultTrackableEventHandler>();                     tb.gameObject.AddComponent<TurnOffBehaviour>();

                    if (augmentationObject != null) {                         // instantiate augmentation object and parent to trackable                         GameObject augmentation = (GameObject)GameObject.Instantiate(augmentationObject);                         augmentation.transform.parent = tb.gameObject.transform;                         augmentation.transform.localPosition = new Vector3(0f, 0f, 0f);                         augmentation.transform.localRotation = Quaternion.identity;                         augmentation.transform.localScale = new Vector3(0.005f, 0.005f, 0.005f);                         augmentation.gameObject.SetActive(true);                     } else {                         Debug.Log("<color=yellow>Warning: No augmentation object specified for: " + tb.TrackableName + "</color>");                     }                 }             }         } else             Debug.LogError("<color=yellow>Failed to load dataset: '" + dataSetName + "'</color>");     } }