Skip to content

NGO 1.5.1 OwnedObjects broken #2626

@luishnc

Description

@luishnc

Description

NGO 1.5.1 Method Singleton.ConnectedClients[clientID].OwnedObjects not working anymore.

Reproduce Steps

1 Sample class that Spawin with ownership:

public void SpawnTestServerRpc(ServerRpcParams serverRpcParams = default)
{

    //assign transform to the Sender parent transform
    var clientID = serverRpcParams.Receive.SenderClientId;

    if (NetworkManager.Singleton.ConnectedClients.ContainsKey(clientID))
    {
        var client = NetworkManager.ConnectedClients[clientID];
        //var client = NetworkManager.Singleton.ConnectedClients.ContainsKey(clientID);
        Transform clientTransform = NetworkManager.ConnectedClients[clientID].PlayerObject.transform.GetComponent<Transform>();
        Debug.Log("Client: " + clientID + " Spawned Muffin");


        foreach (Transform t in creatureListPrefab)
        {
            Debug.Log("Trying to spawn Muffin");
            Transform spawnedObjectTransform = Instantiate(t);

            spawnedObjectTransform.GetComponent<NetworkObject>().SpawnWithOwnership(client.ClientId);

        }

    }


}
  1. Sample method showing that OwnedObjects is broken:

    [ServerRpc(RequireOwnership = false)]
    private void AssignAttackedCreatureServerRpc(NetworkObjectReference enemyObjectReference, ServerRpcParams serverRpcParams = default)
    {
    enemyObjectReference.TryGet(out NetworkObject enemyNetworkObject);

    var clientID = serverRpcParams.Receive.SenderClientId;
    
    
    if (NetworkManager.Singleton.ConnectedClients.ContainsKey(clientID))
    {
        var client = NetworkManager.ConnectedClients[clientID];
        Debug.Log("Trying to set tartget creature. Owned objects: " + NetworkManager.Singleton.ConnectedClients[clientID].OwnedObjects.Count);
    
        foreach (NetworkObject netObj in NetworkManager.Singleton.ConnectedClients[clientID].OwnedObjects)
        {
            if (netObj.TryGetComponent<CreatureAI>(out CreatureAI dcClientsCreatureAI))
            {
                
                dcClientsCreatureAI.SetTargetPosition(enemyNetworkObject.transform);
            }
        }
    
    
    }
    

    }

Actual Outcome

OwnedObjects.count = 0

Expected Outcome

OwnedObjects.count = 1

Environment

  • OS: [Windows 11]
    {
    "dependencies": {
    "com.unity.ai.navigation": "1.1.1",
    "com.unity.cinemachine": "2.9.5",
    "com.unity.collab-proxy": "1.17.7",
    "com.unity.feature.development": "1.0.2",
    "com.unity.inputsystem": "1.4.4",
    "com.unity.multiplayer.tools": "1.1.0",
    "com.unity.netcode.gameobjects": "1.4.0",
    "com.unity.probuilder": "5.0.6",
    "com.unity.services.lobby": "1.0.3",
    "com.unity.services.relay": "1.0.5",
    "com.unity.textmeshpro": "3.0.6",
    "com.unity.timeline": "1.8.0",
    "com.unity.ugui": "1.0.0",
    "com.unity.visualscripting": "1.8.0",
    "com.unity.modules.ai": "1.0.0",
    "com.unity.modules.androidjni": "1.0.0",
    "com.unity.modules.animation": "1.0.0",
    "com.unity.modules.assetbundle": "1.0.0",
    "com.unity.modules.audio": "1.0.0",
    "com.unity.modules.cloth": "1.0.0",
    "com.unity.modules.director": "1.0.0",
    "com.unity.modules.imageconversion": "1.0.0",
    "com.unity.modules.imgui": "1.0.0",
    "com.unity.modules.jsonserialize": "1.0.0",
    "com.unity.modules.particlesystem": "1.0.0",
    "com.unity.modules.physics": "1.0.0",
    "com.unity.modules.physics2d": "1.0.0",
    "com.unity.modules.screencapture": "1.0.0",
    "com.unity.modules.terrain": "1.0.0",
    "com.unity.modules.terrainphysics": "1.0.0",
    "com.unity.modules.tilemap": "1.0.0",
    "com.unity.modules.ui": "1.0.0",
    "com.unity.modules.uielements": "1.0.0",
    "com.unity.modules.umbra": "1.0.0",
    "com.unity.modules.unityanalytics": "1.0.0",
    "com.unity.modules.unitywebrequest": "1.0.0",
    "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
    "com.unity.modules.unitywebrequestaudio": "1.0.0",
    "com.unity.modules.unitywebrequesttexture": "1.0.0",
    "com.unity.modules.unitywebrequestwww": "1.0.0",
    "com.unity.modules.vehicles": "1.0.0",
    "com.unity.modules.video": "1.0.0",
    "com.unity.modules.vr": "1.0.0",
    "com.unity.modules.wind": "1.0.0",
    "com.unity.modules.xr": "1.0.0"
    }
    }

Additional Context

I tested with NGO 1.2.0, 1.31 and 1.4.0 and they all are working as expected.

Metadata

Metadata

Labels

priority:highThis issue has high priority and we are focusing to resolve itstat:importStatus - Issue is going to be saved internallytype:bugBug Report

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions