ProximityPrompt.PromptShown fires for all players even in LocalScript?

As a Roblox developer, it is currently too hard to create a versatile prompt system without extra checks. The PromptShown function desperately needs a player argument so that clients can filter out who activated the function. When using this feature initially, it was not intuitive to me that this function was firing for all clients, being that it was in a LocalScript. Upon learning this, I figured I could simply just add a check for the player who fired it, but when I looked into the documentation, the argument doesn’t exist. This is quite baffling to me, and now I am forced to check the distance between the prompt and the player’s head to find out who is actually firing the function. Very frustrating!

If Roblox is able to address this issue, it would improve my development experience because I wouldn’t have to make distance checks to see which player is actually activating the prompt.

1 Like

Hello, thank you for the report. The PromptShown event is not fired when a player triggers the prompt - you want the Triggered event for that, which includes the player as a parameter. PromptShown is fired locally when your player approaches a prompt and it appears. It is only relevant for the local player, client side.

1 Like

Thanks for the reply. I am already aware about the differences about Triggered and Shown. I am referring to the PromptShown function. Perhaps it is a bug with studio tests with 2 players. But to give you an example of the behavior I am experiencing:

Player1 is within prompt range → Activates PromptShown
Player2 enters the same prompt’s range → Activates PromptShown, but also activates PromptShown again for Player1, even though Player1 hasn’t moved

1 Like