As a Roblox developer, it is currently too hard to work with CollectionService tags. It’s an extremely powerful tool but the implementation is somewhat awkward. Right now we have to use the service to check an instance, instead of directly calling a function of the instance itself.
I mistakenly write Instance:HasTag() all the time because it just feels more natural. Having the support for it would remove that friction from my workflow.
Big support, I would love an instance-level API for tags. It feels completely reasonable as well considering tags are serialised on instances like attributes. I feel really silly writing out any of the CollectionService methods that require an instance argument and would much rather prefer if I could just directly query the tags from the instances themselves.
PhysicsService was updated so that the API was based more on an instance-level instead via the property and deprecation of some instance APIs. Attributes are already serialised on instances and have a full suite for working with them. Instance-level tags API would feel much more intuitive.
This would make job much easier if we would be able to access it’s API through instance.
This would also bring versatility to collection service. For example, you could get tagged children or descendants while limiting it only to instance, listening if children/descendant with that tag was added/removed.
That’s a really big support.
Just to keep you posted, I silently turned this on and we found a bug that broke the behavior of CollectionService:GetTags(nil). Will be getting a fix out soon for next week to try again
Hey folks, this has been live for a bit and hasn’t been causing issues, so it should be safe to use now (though I may still need to write documentation!)