GetAttributes getting invisible attributes?

I’m trying to set attributes

for attribute in object:GetAttributes() do
	print(attribute, object:GetFullName())
	object:SetAttribute(attribute, nil)
end

And I got no clue what this attribute is, let alone why I can’t overwrite it?!



Started happening only today, never heard of this attribute, nor have I heard of attributes that require permission to do…

especially on something that does not exist…?

It’s used by Roblox core scripts so you can’t modify it, but you can ignore it. If there are more core attributes maybe try a pcall? Not sure, I’ve never run into this before.

for attribute in object:GetAttributes() do
    if attribute == "RBXRefinementScale" then
        continue
    end
	print(attribute, object:GetFullName())
	object:SetAttribute(attribute, nil)
end

What object are you trying to reference that has a core script as an attribute? I’m deducing its a part so just do this:

local object = script.Parent -- Script in part in workspace
object:SetAttribute('IsArrogant',false)
object:SetAttribute('Age',1)
for name,value in pairs(object:GetAttributes()) do
   print(name.." = "..value) -- This should print smth normal..
end

Any attribute starting with the string “RBX” is apparently hardcoded to be non-modifiable.

I don’t know why :GetAttributes() would return it tho :skull: maybe its a bug, but it never happened to me

Anyway, if you want to ignore such attributes, all you have to do is:

for atrName, value in obj:GetAttributes() do
    if atrName:sub(1, 3) == "RBX" then continue end
    -- rest of code here