Why artificially limit the capability of this feature for all developers when for the example you’ve given could easily be achieved by just setting a standard within your own team.
Use Attributes only with the Configuration object your team can make this choice.
Forgive me if I’m wrong, but it really seems like you’re just searching for any reason to bash this feature at this point. Roblox has always had multiple ways of doing things, this isn’t anything new. It’s simply one of the drawbacks of having a backwards-compatible engine. They introduce new and improved ways of doing things while keeping old functionality all the time (case in point: the new raycasting API). Not to mention that by arguing against attributes, it seems like you’re implicitly arguing for having hundreds of different ValueBases to cover every single data type.
The sizeable number of benefits to using attributes over ValueBases have been thoroughly discussed many, many times throughout this thread, but you still seem keen on bashing the feature because it just isn’t what you’re used to. Sorry, but wanting to cling to an archaic, outdated system because it’s what you’re used to isn’t really a valid reason and all-around seems like a very entitled attitude.
Lastly, Roblox is evolving as an engine and wants to appeal to developers who haven’t necessarily been on Roblox since they were ten years old like you have. This is how both Unity and UE4 handle parameterized objects (tied to the object and edited through the properties panel equivalent) – you even admitted this yourself. If you proposed a system akin to ValueBases to anyone at Epic Games, they’d laugh you right out of town. There’s a reason they do things the way they do and it’s high time Roblox adopted a similar system.
(Also, there’s literally nothing preventing you from continuing to use ValueBases, so I’m not sure what all the fuss is about.)
I would really like for objects to be supported, because it would allow me to completely abandon object values, and switch to a much cleaner alternative.
You don’t have to use Attributes if you don’t want to. ValueBases aren’t going anywhere, so you can continue using them the same way you always have. It seems like most people here are very excited for Attributes, so I think suddenly limiting them to only Configuration objects is pointless.
About not being able to see them in the Explorer, I think it would be super useful for objects with Attributes to have a small blue or green bar next to them in the Explorer (like in the output, where a green/blue bar represents whether it came from the client or server).
Hey, I was wondering if this is active right now and my players will be able to use scripts that use attributes, or I need to wait to use these for everyone to be able to use them in game?
As of right now, Attributes are open to beta members only. You can always enroll in the beta program and then get added to the program in their next wave of enrollment so that you and/or your dev team can get these features!
The beta program is separate to beta features. You can access beta features by enabling them in Studio without being a member of the beta program. There’s a guide in the original post explaining how you can enable this feature
If you want to enable the attributes beta you can find instructions in the original post. To join the beta program check out the following thread: Enroll in the Roblox Beta Program
I have everything enabled by default. I enjoy being in all the beta stuff, Still working on trying to get into the private beta thing though. But I already have this feature enabled as well everything else and my lovely 700 max players I got from the beta program.
Edit: Will users in the beta program be able to use this in-game before its release for all users? (Question for WallsAreForClimbing)
Suggestion
While this is a very useful feature, it would be great if we can access them like you would a property.
Something similar to:
-- Changing an Attribute's value:
instance.MyAttribute = newValue
It would be much more easier to use, (although I am aware that attributes might be cross-referenced with properties), and will look slightly more readable.
Another alternative would be to have:
-- Changing an Attribute's value:
instance.Attributes.MyAttribute = newValue
Or something similar, as my programming style makes it harder for me to implement this in my games.
You will only be able to use this in published games after the full release. The Beta is for use in Studio only, so we can improve the feature and address any bugs/issues.