How to fix these CS0246 errors? Using Vuforia 10.27 package

I’ve already imported Vuforia 10.27 (latest version). But these errors keep showing:

Assets\Scripts\CloudRecognitionHandler.cs(8,55): error CS0246: The type or namespace name ‘IObjectRecoEventHandler’ could not be found (are you missing a using directive or an assembly reference?)

Assets\Scripts\CloudRecognitionHandler.cs(24,31): error CS0246: The type or namespace name ‘TargetFinder’ could not be found (are you missing a using directive or an assembly reference?)

Assets\Scripts\CloudRecognitionHandler.cs(29,29): error CS0246: The type or namespace name ‘TargetFinder’ could not be found (are you missing a using directive or an assembly reference?)

Assets\Scripts\CloudRecognitionHandler.cs(34,31): error CS0246: The type or namespace name ‘TargetFinder’ could not be found (are you missing a using directive or an assembly reference?)

Assets\Scripts\CloudRecognitionHandler.cs(47,35): error CS0246: The type or namespace name ‘TargetFinder’ could not be found (are you missing a using directive or an assembly reference?)

Assets\Scripts\CloudRecognitionHandler.cs(56,56): error CS0246: The type or namespace name ‘TargetFinder’ could not be found (are you missing a using directive or an assembly reference?)

Assets\Scripts\CloudRecognitionHandler.cs(73,28): error CS0246: The type or namespace name ‘TargetFinder’ could not be found (are you missing a using directive or an assembly reference?)

Assets\Scripts\CloudRecognitionHandler.cs(11,13): error CS0246: The type or namespace name ‘ObjectTracker’ could not be found (are you missing a using directive or an assembly reference?)

This is the script in question:

using UnityEngine;
using Vuforia;
using System.Collections;
using UnityEngine.Networking;
using UnityEngine.Video;
using System.Diagnostics;

public class CloudRecognitionHandler : MonoBehaviour, IObjectRecoEventHandler
{
    public GameObject videoPlayerPrefab; // Prefab with a VideoPlayer component
    private ObjectTracker objectTracker;
    private CloudRecoBehaviour cloudRecoBehaviour;
    private GameObject currentVideoPlayer;

    void Start()
    {
        cloudRecoBehaviour = GetComponent<CloudRecoBehaviour>();
        if (cloudRecoBehaviour)
        {
            cloudRecoBehaviour.RegisterEventHandler(this);
        }
    }

    public void OnInitialized(TargetFinder targetFinder)
    {
        objectTracker = TrackerManager.Instance.GetTracker<ObjectTracker>();
    }

    public void OnInitError(TargetFinder.InitState initError)
    {
        Debug.LogError("Cloud Reco initialization error: " + initError.ToString());
    }

    public void OnUpdateError(TargetFinder.UpdateState updateError)
    {
        Debug.LogError("Cloud Reco update error: " + updateError.ToString());
    }

    public void OnStateChanged(bool scanning)
    {
        if (scanning)
        {
            objectTracker.TargetFinder.ClearTrackables(false);
        }
    }

    public void OnNewSearchResult(TargetFinder.TargetSearchResult targetSearchResult)
    {
        TargetFinder.CloudRecoSearchResult cloudRecoSearchResult = (TargetFinder.CloudRecoSearchResult)targetSearchResult;
        string targetId = cloudRecoSearchResult.UniqueTargetId;

        // Fetch the video URL from your document using the targetId
        StartCoroutine(FetchVideoUrl(targetId, cloudRecoSearchResult));
    }

    private IEnumerator FetchVideoUrl(string targetId, TargetFinder.CloudRecoSearchResult cloudRecoSearchResult)
    {
        string documentUrl = "https://your-api-endpoint.com/getVideoUrl?targetId=" + targetId;
        UnityWebRequest www = UnityWebRequest.Get(documentUrl);
        yield return www.SendWebRequest();

        if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
        {
            Debug.LogError(www.error);
        }
        else
        {
            string videoUrl = www.downloadHandler.text;
            PlayVideo(cloudRecoSearchResult, videoUrl);
        }
    }

    private void PlayVideo(TargetFinder.CloudRecoSearchResult cloudRecoSearchResult, string videoUrl)
    {
        if (currentVideoPlayer != null)
        {
            Destroy(currentVideoPlayer);
        }

        currentVideoPlayer = Instantiate(videoPlayerPrefab);
        currentVideoPlayer.transform.position = cloudRecoSearchResult.Position;
        currentVideoPlayer.transform.rotation = cloudRecoSearchResult.Rotation;

        VideoPlayer videoPlayer = currentVideoPlayer.GetComponent<VideoPlayer>();
        videoPlayer.url = videoUrl;
        videoPlayer.Play();
    }
}

1 Like

i have the same errors