public ITempNetObject SpawnNewTempNetObject(int prefabID, Vector3 pos, Quaternion rot)
    {
        TempObjID newID = new TempObjID(nextNum, prefabID);

        nextNum++;
        ITempNetObject comp = CreateLocalNetObject(prefabID, newID, pos, rot);

        // send the creation message
        NetWriter writer = NetworkManager.StartNetworkMessage("create_temp_obj", thisNetworkID);

        newID.WriteBytes(writer);
        writer.WriteVector3(comp.GetPosition());
        writer.WriteVector3(comp.GetEulerAngles());
        comp.WriteInitialBytes(writer);
        BufferedMessage msg = NetworkManager.SendMessageToOtherClients(writer, NetworkCore.ReliableSequencedMsg, true);

        comp.SetNetMessage(msg);
        mapping.Add(newID, comp);
        return(comp);
    }