It’s simple as that. I have the client overriding some properties of all the characters locally and it works fine for all R6 and R15 1.0s (rigs without special bodyPart meshes) becasue they are state final when their baseParts are added as children. But due to a 3.0 joining the game as an R15, his character follows the caveat dynamic discussed in post: https://devforum.roblox.com/t/what-is-guaranteed-to-be-there-on-characteradded/42431
so what I set doesn’t last and it is game breaking because I am setting collisions on the characters.
TL;DR: I need a clean way to know when a character is finished loading, locally
but I ended up just doing descendantAdded functionality and handling each handed up instance on that unit basis. This is like reappropriating accessories to meshparts for material support, and outline-inverting identifiable-as-body-part baseparts.
Side note: I am a bit surprised you can reference use CAL, given you cannot connect to it, on client side. Go you for trying and succeeding with that one. And you can always bind it to one of the task schedule phases if its real priority keeping with your implementation ig.