ProximityPrompt appears for a split second before being disabled

I am getting some unusual behavior from ProximityPrompts. Here is an example of what I am trying to do in it’s most basic form:

furnacePrompt.Triggered:Connect(function(playerWhoTriggered)
	furnacePrompt.Enabled = false
	wait(3) -- Wait 3 seconds before the prompt appears again.
	furnacePrompt.Enabled = true
end)

The function works as intended, however, there is a slight cosmetic issue. Once triggered, the prompt reappears on the screen for a split second before the prompt is disabled. Why does this happen? Is there any way to fix this issue?

Even trying to disable the prompt on the client using a listener via ProximityPromptService as opposed to the server results in the same issue.

I’ve experienced this issue too, and there’s no really way to fix it unless you use debounces.

As an alternative, you could set the parent of the proximity prompt to nil for the duration:

local InitialParent = furnacePrompt.Parent
furnacePrompt.Triggered:Connect(function(playerWhoTriggered)
     furnacePrompt.Parent = nil
     wait(3)
     furnacePrompt.Parent = InitialParent
end)
1 Like

I’m amazed that this works better than ProxmitiyPrompt’s own enable/disable property. Thank you!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.