So I quickly whipped up a customize display thing that shows you what hats you’ve equipped. However, they don’t appear in the viewport frame.
I wasn’t actually sure (it’s not explicitly specified) if accessories/hats function in ViewportFrames within WorldModels normally. I’m guessing no, but I just wanted to make sure.
I haven’t gotten too far with it yet, but I noticed hats weren’t positioned correctly on a character loaded into a viewportframe directly, but it does work if you use a WorldModel.
I was trying to figure out a way to in realtime add or remove hats to a character in the viewport frame, but apparently :AddAccessory() doesn’t work locally (no idea why that is)
So I ended up just storing a module of CFrame offsets for each hat relative to the player’s head, then I used a WeldConstraint so it ‘attaches’ the hat so it moves with the player’s animations.