Add Instance as a Valid Attribute Type

As a Roblox developer, it is currently inconvenient when making Attribute-based systems to suddenly need an ObjectValue instance because “Instance is not a supported Attribute type”.

If this issue is addressed, it would improve my development experience because I wouldn’t need to change how I receive values, going from property-like instance Attributes to relying on ValueBase instances. For example, when keeping track of the last player to attack an NPC, that information could be kept as an easily overwritable Attribute of the NPC rather than relying on physical values within said NPC.

While Attributes were, to my understanding, not a replacement for ValueBase instances, it has greatly increased my workflow to be able to give instances characteristics without creating further instances. Some instances already have Instance-type properties, so I would be willing to assume that this might be something easy to implement on the Roblox backend.


I’ve mentioned this on the original thread a̶n̶d̶ ̶i̶t̶ ̶s̶t̶i̶l̶l̶ ̶h̶a̶s̶n̶’̶t̶ ̶b̶e̶e̶n̶ ̶a̶d̶d̶e̶d̶:

I’m quite surprised that they didn’t add all of the different object types as valid attributes.


Its to do with serialisation, afaik, ObjectValues don’t keep their value when saved.

Ok, yes, you could probably have it at runtime, but Roblox wants to keep attributes standardised which would mean changing something major to the binary format.

Kind of weird because the format DOES have a unique ID for each instance which would make it possible,