Currently, when you save a local plugin that uses plugin:Set/GetSetting, it is saved to a specific settings.json file located at/Roblox/{UserId}/InstalledPlugins/0/settings.json
. The problem with this is when we have two local plugins which use the same key, basically resulting in conflicts
Using some of the settings, lets use “ViewSelector_Active”, in this case, which is used by the View Selector built-in, I could write a plugin that also uses the same key, however this would interfere with the view selector built-in, as both plugins use the same settings.json file.
If I made a local plugin that did this, you’d notice it’s interfering with the view selector, making it reappear every single time I start studio
plugin:SetSetting("ViewSelector_Active", true)
Therefore, even if I did have the view selector hidden (which I usually do), because I wrote a plugin to override it’s value in settings, it now appears even though I haven’t told it to
Basic Reproduction:
- Hide the view selector
- Sideload this Lua Script as a plugin
plugin:SetSetting("ViewSelector_Active", true)
- Restart Studio and open a file.
- The View Selector has been reopened even though you didn’t tell it to.
My settings.json file, might be irrelevant but it's here just incase
{
"SnapToKeys":false, // ?
"ShowAsSeconds":true, // AnimationEditor ?
"Toolbox_SelectedSortIndex":1, // Toolbox
"Toolbox_SelectedCategoryIndex":1, // Toolbox
"ecb-OutputColors":"{\"Unknown\":null,\"MessageWarning\":null,\"MessageOutput\":null,\"MessageInfo\":null,\"MessageError\":null}", // Custom Local Plugin
"Toolbox_SelectedSearchTerm":"", // Toolbox
"Toolbox_SelectedBackgroundIndex":2, // Toolbox
"Toolbox_SelectTab":"Marketplace", // Toolbox
"ViewSelector_Active":false, // ViewSelector
"ToolboxAnalytics_Inserts":16 // Toolbox
}