Blur Effects for UI Elements

I think a good solution to that would be to have a read-only property that represents whether UI blur effects are enabled or not. On low graphics settings and lower-end mobile devices, UI blur could be disabled, but it could be enabled on higher graphics settings and more powerful devices.

Developers could account for this by setting the transparency of UI objects using that property. This could be done by connecting to the GetPropertyChangedSignal of the new property, and changing transparency for each of the UI elements.

Here is an example of how this would work:

local playerGui = game:GetService("Players").PlayerGui
local blurFrames = {} -- add all of the frames with UI blur in here

local function onBlurEnabledChanged()
	local enabled = playerGui.UIBlurEnabled
	local transparency = enabled and 0.5 or 0
	-- if blur is enabled, make background transparent so blur can be seen
	-- if disabled, make background solid so that text is legible

	for i, v in pairs(blurFrames) do
		v.BackgroundTransparency = transparency
	end
end

onBlurEnabledChanged() -- setup
playerGui:GetPropertyChangedSignal("UIBlurEnabled"):Connect(onBlurEnabledChanged)

This is fairly simple for scripters to do, but would solve the problem of the game being unplayable without UI blur.

68747470733a2f2f692e696d6775722e636f6d2f4272427174526c2e706e67

40 Likes