Network ID
Used to Identify a GameObject in a networked game.
Last updated
Used to Identify a GameObject in a networked game.
Last updated
Name
Function
ID
Automatically assign at run time.
OwnerRemotePlayerId
The owner's full playerId.
OwnerCustomPlayerId
The owner's custom playerId.
Type
Player: Player controlled GameObject
Non-Player: Non-player controlled GameObject
SendRealtimeData
Indicates whether the Networked GameObject sends Realtime data to the game server. Only controls the behaviour of non-player networked GameObjects
DynamicallySpawned
Disable this for non-player Networked GameObjects that are not spawned/destroyed by the SceneSpawner.
FixedNetworkObjectID
The Fixed NetworkObjectID of the non-player Networked GameObject that are not spawned/destroyed by the SceneSpawner.
A valid FixedNetworkObjectIDs should be between 1-4999
Filterable
Indicates whether the GameObject can be filtered by the realtime filter. Only controls the behaviour of player networked GameObjects
Visible Size
Size of the bounding box of the GameObject
Find out if local player is the owner of a Networked GameObject
Removes the networked GameObject across the network. The optional parameter specifies the amount of delay in seconds before destroying the networked GameObject.
FAQ
Question: What would be the best way to restore a player status (position, health, etc.) after he closes the game and comes back a moment later? The SceneSpawner would just spawn a new player GameObject, but I'd like to restore its status to when he disconnected
Answer: If players leave temporarily and reconnect back to the rooms, you probably want to use a longer playerTimeToLive to create rooms. So players don't get removed from rooms too quickly.
Background: Every Networked Object must have a NetworkID component, and the SDK assigns a unique id to each NetworkID component.
The id has a range from 1 to 65535.
1-25000 is reserved for player-owned objects. each player can have up to 100 networked objects so id of 100-199 is owned by player 1 in the game, 200-299 is owned by player 2 in the game...
When players connect to the room game server, the game server will assign roomPlayerIDs to them, and roomPlayerID 1 will be assigned to the first player connects to the room. roomPlayerID 2 will be assigned to the second player connects to the room...
If the first player went offline and reconnect back to the room game server before the room playerTimeToLive is over, the room game server still remembers the player's roomPlayerID(which is 1 in this case). so the player will gain ownership of the GameObjects with ID in the 100-199 range. If the first player went offline for too long and got kicked by the room keeper, the player's roomPlayerID will be recycled and appended to the end of the available roomPlayerID queue. So if the player joins the same room again, a new roomPlayerID will be assigned. Say the new roomPlayerID is 3, the player will create new sets of GameObjects and own GameObjects with ID in the 300-399 range.
Only the GameObjects that the local player owns should receive input updates.
In this example, networkId.IsMine is called to find out if the local player has the authority to move the GameObject.