Currently, in order to adjust a property of any instance you need to make use of a script (or do it manually by hand). This is okay for e.g a GUI of which you need to edit 2 BackgroundColor3’s.
But imagine trying to make a ‘library’ of GUIs with different appearances where you have to adjust a lot of BackgroundColor3’s by hand …
Well you can make a script but sometimes it’s faster to do it by hand regardless.
A Potential Solution
So this just popped into my mind: ‘PropertyValues’.
The PropertyValues class would work similar to Values in terms of what data they carry. But instead of them just carrying data, you can make them replace properties of multiple instances from classes such as BaseParts or GuiBase.
Here’s what I meant in practice:
You have a large dance floor that needs the same BrickColor and want to make them all change in-game without having to write a complex script because you never programmed before. Instead you’d use a PropertyValue and put it in ReplicatedStorage. Then you select all the parts, click on a button next to the Color or BrickColor and select the PropertyValue resulting in them being linked (similar to how PrimaryParts work). Now, when you adjust the PropertyValue’s value, it’d change all the parts’ colors simultaneously!
Imagine this GUI you’re making: A certain colourscheme (aka. multiple colours), multiple sizes, background transparencies, text, fonts, icons, etc.
Instead of making a script that big, use the PropertyValue.
You’d be able to link multiple instances (in this case e.g Frames) to 1 PropertyValue, to make editing a whole bunch easier both live and in-studio.
If I have many GUIs with the same BackgroundColor3 in a hierairchy such as the second image I’d just have to link those GUIs with 1 PropertyValue of the same colour.
I think that this could be convenient for not only new developers but also experienced developers who can’t script themselves that well or people who can’t be bothered to make a script for that.
I hope I explained this well, I feel like I used a bad example. In case you have questions, please do let me know in the replies.