Allow developers to change Instance default propreties

Current Problem:
When creating a new GUI Object(Frames, ImageLabel) we will most likely be changing properties such as BorderSizePixel, ZIndex or BackgroundTransparency to fit our needs.

Conclusion
I find this really common to the point i’m suggesting the following proposal:
Allow us developers to change the default settings for the Instances.

For example, if I were to set a Part default property to:
Size = Vector3.new(2,2,2)
Anchored = true

The moment I create a new Part Instance it’ll have the Default settings overrided by the modified ones so it’ll have:
Transparency = 0
Size = Vector3.new(2,2,2)
Anchored = true
CanCollide = false
etc…

However, this change shouldn’t affect Instances created from scripts as it may break older games.

8 Likes

Are there no plugins out there that do this? This seems like a good plugin idea…

4 Likes

Maybe I’ll have to make a plugin for that… :thinking:

1 Like

I believe the problem comes from not being able to tell the difference between a default instance and one that’s been inserted from elsewhere.

How can I tell the difference between the default ParticleEmitter and one from free models?

It’s not an option to instance the object myself and compare the properties, compare Instance.new("SpawnLocation", workspace) against one inserted through advanced objects. I could keep a list of all defaults, but as soon as Roblox changes one my plugin breaks.

Yeah, looks like there will be a bunch of hoops to jump through – but I still have no doubt it can be done! You may eventually want a “recalibrate” button so if roblox changes the defaults, your users can fix it without having to ask you to upload the tool again.

Defaults for Advanced Objects and Instance.new are probably hardcoded into the executable. If anyone figures out how to parse that data out, I’ll make a bot that uploads that information to Roblox whenever there’s an update.

It would be cool for this to be a native feature for building plugins like qCmdUtl