No matter how many local scripts I disable, debug or change completely I still run into the issue with hats appearing in first person, even after deleting these hats with explorer or a local script they still remain on my character even though they do not exist. I’ve also tried to fix this by temporarily moving the hats elsewhere while zoomed in but It fixed absolutely nothing.
After respawning:

I have reviewed absolutely every piece of code, tried different Roblox player modules, do some camera mode changing stuff and no difference.
(Deleting the sloth in explorer makes no change, the one floating and on my character still remains)
1 Like
put in starter character scripts, real script not a local script:
local char = script.Parent
for i,v in pairs(char:GetChildren()) do
if v:IsA("Accessory") then
v:Destroy()
end
end
char.DescendantAdded:Connect(function(obj)
if obj:IsA("Accessory") then
obj:Destroy()
end
end)
ok so that worked, im going to try a solution based on this by cloning the hats, deleting them, then re inserting
Can you please tell me how are you adding your accessories to Player’s character?
And if it’s server or local script.
they are just getting added as usual, no script adds them its just roblox
im going to try another solutuion bare with me
Oh then good luck, I thought you are adding custom accessories :).
local char = script.Parent
for i,v in pairs(char:GetChildren()) do
if v:IsA("Accessory") then
v:Destroy()
end
end
local me = char.DescendantAdded:Connect(function(obj)
if obj:IsA("Accessory") then
obj:Destroy()
end
end)
wait(0.6)
me:disconnect()
me = nil
local player = game.Players:GetPlayerFromCharacter(script.Parent)
local userid = player.UserId
local char = script.Parent
local AppModel = game.Players:GetCharacterAppearanceAsync(userid)
for _, Object in next, AppModel:GetChildren() do
if Object:IsA('Accessory') then
Object.Parent = char
end
end
script:Destroy()