Verse Spawn pads

Can anyone help me with this code, please. I have a 2vs2 BoxFight map limited to 1 spawn per player. And the game is always in round 1, thus being done with the accumulation of points only. I use this code to spawn all players when the fictional round ends, those who are in the game and those who join later… But for players who enter later, who spawn on the PlayerSpawnerLobby pads, they are unable to interact with any devices. Because in the area where they start there are 2 Class selectors to choose the team where they will play. But they can’t, and it’s as if they were ghosts. They can run, jump, etc. even on the score board they do not appear. I even placed a damage device and even that device has no effect on them. Will I have a problem with lack of arguments in my code?

→ PlayerJoining := GetPlayspace().PlayerAddedEvent().Await()

respawn_manager := class(creative_device):
    
    @editable PlayerSpawners : []player_spawner_device = array{}
    @editable RespawnAllPlayersTrigger : trigger_device = trigger_device{}
    @editable PlayerSpawnerLobby : player_spawner_device = player_spawner_device{}

    OnBegin<override>()<suspends>:void=
        RespawnAllPlayersTrigger.TriggeredEvent.Subscribe(RespawnAllPlayers)
        loop:
            PlayerJoining := GetPlayspace().PlayerAddedEvent().Await()
            if(AgentJoining := agent[PlayerJoining]):
                AgentJoining.Respawn(PlayerSpawnerLobby.GetTransform().Translation,PlayerSpawnerLobby.GetTransform().Rotation)

    RespawnAllPlayers(A:?agent):void=
        for(Index -> Player : GetPlayspace().GetPlayers(), Agent := agent[Player] , Fort := Agent.GetFortCharacter[]):
            if(PlayerSpawner := PlayerSpawners[Index], not Fort.IsActive[]):
                Agent.Respawn(PlayerSpawner.GetTransform().Translation,PlayerSpawner.GetTransform().Rotation)

Help Please