public sealed class ReplicationRegistryEvery component type that may arrive over the wire, and nothing else.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
A closed set, and that is the security property. Nothing is ever deserialized into a type named by a packet: a packet names a number, the number is looked up here, and a number that is not here is a packet that is refused. Deserializing into a type the wire chose is the classic remote-code-execution vector in game netcode, and it is excluded by construction rather than by validation.
Populated by generated registration code at start-up. Two types whose hashes collide is a build-time accident that would silently misroute state, so it is refused loudly here instead.
Fields and properties (3)
public IReadOnlyList<IComponentReplicator> ReplicatorsEverything registered, ordered by wire id rather than by when it was registered.
public int CountHow many types are replicated.
public uint ManifestHashA hash over every registered type's wire id, in order: one number that says whether two peers have the same set of replicated types.
Methods (5)
public void Register(IComponentReplicator replicator)Adds a replicator.
public int IndexOf(uint typeId)The number this type has on the wire.
public bool TryGetByIndex(uint index, out IComponentReplicator? replicator)Finds the replicator a wire index names.
public bool TryGet(uint typeId, out IComponentReplicator? replicator)Finds the replicator a wire id names.
public static uint HashTypeName(string fullName)The id a type name has on the wire: 32-bit FNV-1a over the full name.
Used by (38)
- GameClientMultiplayer
- GameServerMultiplayer
- ReplicatedComponentsMultiplayer
- SoakNetworkSoak
- BitExactnessTestsVixen.Net.Tests
- BroadcastRouterVixen.Net
- ClientPredictionVixen.Net
- ClientPredictionTestsVixen.Net.Tests
- DeltaTestsVixen.Net.Tests
- DiagnosticsTestsVixen.Net.Tests
- HandWrittenTransformReplicatorVixen.Net.Generators.Tests
- HealthReplicatorVixen.Net.Tests
- NetworkAnimatorParametersReplicatorVixen.Net.Animation
- NetworkAnimatorReplicatorVixen.Net.Animation
- NetworkAudioSourceReplicatorVixen.Net.Audio
- NetworkBonesReplicatorVixen.Net.Animation
- NetworkPrefabIdVixen.Net
- NetworkRigidBodyReplicatorVixen.Net.Physics
- NetworkSceneIdVixen.Net.Engine
- NetworkSpawnReplicatorVixen.Net
- NetworkSpawnTestsVixen.Net.Engine.Tests
- NetworkTransformReplicatorVixen.Net
- PositionReplicatorVixen.Net.Tests
- PredictedPlayerMovementTestsVixen.Net.Physics.Tests
- PredictionHistoryVixen.Net
- ReplicationClientVixen.Net
- ReplicationGeneratorTestsVixen.Net.Generators.Tests
- ReplicationServerVixen.Net
- ReplicationTestsVixen.Net.Tests
- RpcTestsVixen.Net.Tests
- SnapshotInspectorVixen.Net
- SnapshotInspectorTargetVixen.Net.Fuzz
- SnapshotSeedsVixen.Net.Fuzz
- SnapshotTargetVixen.Net.Fuzz
- SyncListReplicationTestsVixen.Net.Engine.Tests
- SyncListReplicatorVixen.Net.Engine
- SyncStateReplicatorVixen.Net.Engine
- SyncStateTestsVixen.Net.Engine.Tests