When Streaming is enabled, if I change the parent of an accessory from a non-replicating container to a normal character, the parts in the accessory won’t replicate to clients other than the character’s own client. For example, if players A, B, and C are in the game and I parent an accessory from nil or ServerStorage to CharacterA, either by manually setting the parent or using AddAccessory, PlayerA will see the whole accessory, but Players B and C will only see the accessory instance – not the parts inside. If PlayerD joins the game afterwards, they will see the accessory parts on CharacterA.
Repro.rbxl (16.9 KB)
Repro steps:
- Load repro file
- Start test server with 2 players
- If the two test players start up roughly at the same time, the other character will not have an accessory
- If one test player starts up after the first, the first test player will not see the accessory on the second, but the second will see accessories on both characters
Alternate:
- Load repro file
- Disable script
- Run test server with 2 players
- Copy and paste accessory in ReplicatedStorage to ServerStorage twice
- Drag one accessory onto each character’s model
- The owning client will see the accessory, but no one else
Note that this only happens if there is not a part at Y < 129. The bug will not occur if the baseplate is:
- Position = <0,128,0>; Size=Any
- Position = <0,-129,0>; Size=Any
- Position = <1mil, 128, 1mil>; Size=Any
Streaming is disabled, accessory is parented to a replicating container before equipping, or a part exists at Y < 129:
Streaming is enabled, accessory is parented to a non-replicating container before equipping, AND a part doesn’t exist at Y < 129: