Attributes - Now Available!

Hey Developers,

We’re excited to announce that Attributes are now available to use in your games!

What are Attributes?

Attributes allow you to customize instances with your own data. They are similar to built-in object properties, but you can create and modify your own attributes for any instance. Key features include:

  • Create, edit, and delete Attributes directly within Studio’s Properties window.
  • Attributes and their values are saved with your place and assets.
  • Attributes and their value changes are replicated so clients can access them immediately.
  • Attribute changes can be viewed in real time.

Documentation

For additional details on how to use Attributes with your project, check out this article on the Dev Hub: How to use Instance Attributes

How do you use them?

New attributes can be created and modified in Studio in the attributes section of the properties widget!

create

APIs

Attributes can also be created and controlled from scripts with the following APIs:

477 Likes

This topic was automatically opened after 11 minutes.

This is amazing! Gone are the days of having messy values all over your models!

I’m honestly super excited for this feature! Thank you so much! With this, our studios are going to be so much cleaner and nicer to work with, I really like this update!

Woo hooo! :tada:

79 Likes

It feels truly like a lifetime since I’ve been waiting for this feature to come out. Looks like it’s time to slowly say goodbye to all the ValueObjects in my projects and (ab)use these as much as I can.

I’ve always had a load of use cases I want to apply attributes to, all in the realm of configurations and systems…

  • Armour health, seperated from regular health and supporting damage padding
  • Attack types (elemental-based stuff)
  • NPC type configuration (rendering on client, behaviour initialised from server)
  • A whole lot more

Their release now comes in clutch for me as my team is preparing for another update to our game and I’ve been writing a model transparency system (includes hiding particles, beams and so on). Tags have provided me a bit of trouble when creating this system especially because of server overwrites of tags (have to wait a frame), but now I can combine tags and attributes to get my system done much better.

Can’t wait to start using them right away.

Instance references or custom classes next please? :slight_smile:

54 Likes

This is revolutionary!
Without a doubt so many developers will benifit from this, and it will make developing so much more customizable! The days of using module scripts to hold all data will probably get streamlined by this!
I am so ready to start putting these in my games!
:smiley:

11 Likes

Yay!

Will we ever get Attribute functions?

so instead of doing

Object.BindableEvent:Fire(param)

we could just do

Object:Verb(param)

EDIT:
Looks like you don’t directly index things as I expected. Bindable events are probably here to stay.

EDIT 2:
If you really wanna index attributes directly, check this out:

58 Likes

That is a handy feature that would help a lot of RPG and fps games!

11 Likes

that is actually crazy, good feature

10 Likes

This update is definitely going to make things easier!

No more having to put a bunch of Value instances inside my scripts :sunglasses:

Thank you so much Roblox for releasing this awesome feature!

11 Likes

I like this update, but I wish you can allow us to use the dot operator to get attributes

13 Likes

I am excited for this! There is no more needing to store a list of variables for cars, guns, etc. All you need to do is add an attribute and you can turn it into a property!

I am very excited to use this feature!

4 Likes

Not sure how I’ll use this but I’m sure that others know how.

2 Likes

I’ve been using Attributes a ton, and it has probably been my favorite Roblox Studio update ever!

However, there are two more types that aren’t included yet that would be useful: CFrame and Object (like in ObjectValues). If those two types are added, I could say goodbye to Values forever!

27 Likes

This is a blessing, no more using values for me (for the most part).

6 Likes

Very excited to see this release! Will definitely be of great help for current and future projects :grin:

1 Like

Now I can store client-specific values directly in players :slight_smile:
There are so many uses for this, from flags to well… anything. Goodbye ___Values

2 Likes

niiiice, this is my favorite recent update :). i’m really hoping for objectvalues soon though

7 Likes

Definitely easier than telling people to manually change values for every single value within a model. It saves more time! Hope this is released, I would
love to learn more of how it works.

5 Likes

Once attributes support more stuff like Instance, CFrame, etc. can we expect ValueBase to become deprecated?

9 Likes

Yesss I have been waiting for this, no more need to have clutterous values all over the place, you can really tailor your instances to your needs which is very useful. :slight_smile: Good job Roblox.

4 Likes