Using addressables to load an external file and teleport it

Hello,
I’ve been working on a script that is supposed to load an object into the world from an external addressable file and then teleport it to an empty game object. I’ve had success with most of it, yet can’t figure out how to teleport it to the player. As the object is instantiated via addressables during runtime, it isn’t possible to just drag the object into a script. My attempt at getting this to work was to have the external file have a tag (mod0) and then when we call the function to load the file, it will load it, find all objects with the mod0 tag, and teleport them to an empty game object. It takes a json file that’s compiled from addressables and loads it in and then spawns it at a point in the world. I’m not sure if this is something easy to fix, but it seems to stump me. Does anyone know a way that I could fix this? (also, the name of the object that’s being spawned in is named ModPart)

(Unity v2020.3.13f1 with URP)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement;
using UnityEngine.ResourceManagement.ResourceLocations;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.AddressableAssets.ResourceLocators;
using UnityEngine.UI;

public class LoadMod : MonoBehaviour
{
 
    public string modDir;

    public Transform spawnLocation;

    public GameObject[] mod0;

    private void Update()
    {
        if(Input.GetKeyDown(KeyCode.Keypad0))
        {
            openMod0();
        }
    }

    // Start is called before the first frame update
    public void openMod0()
    {
        string dir = modDir;
        AsyncOperationHandle<IResourceLocator> loadContentCatalogAsync = Addressables.LoadContentCatalogAsync(@"" + dir);

        loadContentCatalogAsync.Completed += OnCompleted;
    }

    private void OnCompleted(AsyncOperationHandle<IResourceLocator> obj)
    {

        IResourceLocator resourceLocator = obj.Result;
        resourceLocator.Locate("Scene", typeof(GameObject), out IList<IResourceLocation> locations);
        if (locations != null)
        {
            foreach (IResourceLocation resourceLocation in locations)
            {
                GameObject resourceLocationData = (GameObject)resourceLocation.Data;
                Addressables.InstantiateAsync(resourceLocation);

                mod0 = GameObject.FindGameObjectsWithTag("mod0");

                foreach(GameObject ModPart in mod0)
                {
                    ModPart.transform.position = spawnLocation.transform.position;
                    Debug.Log("Teleported mod0 to GameObject");
                }


            }
       
        }



    }
}

what do you mean "teleport " ?

As my understanding, you could do this:

Addressables.InstantiateAsync(resourceLocation); → var go = Addressables.InstantiateAsync(resourceLocation);

and then just pass the go to Player.