Proximity Prompt Release

Thanks for the interest in the feature!
The documentation here should be able to point you in the right direction for customizing the GUI:

15 Likes

Will there ever be a way for us to generate circles with different widths like in this Instance? Recreating the GUI for ProximityPrompts is currently not possible with the features Roblox is offering. Instead, the only (pretty improper) way of doing this is by either creating hundreds of images and looping through them or making hundreds of Frame instances.

2 Likes

Im pretty sure theres a devforum post on this somewhere let me see if I can find it.

We will get that fixed shortly, thanks for pointing this out!

6 Likes

Are there any performance implications? Do you think this is a better way (as in performance wise in general) than doing it from scratch?

Overall, this is a great feature, I hope you all add more features like these!

Heres a module

2 Likes

I know that it is possible, and I pointed out the ways of doing it. As my reply says, I’m asking whether we will ever get support of doing this properly, not in (kind of) hacky ways like it is done now.

3 Likes

Hmm… There isn’t a prompt:
image

Setup:
image

local proximityPrompt = script.Parent.ProximityPrompt
local seat = script.Parent

seat:GetPropertyChangedSignal("Occupant"):Connect(function()
	if seat.Occupant then
		proximityPrompt.Enabled = false
	else
		proximityPrompt.Enabled = true
	end
end)

proximityPrompt.Triggered:Connect(function(player)
	seat:Sit(player.Character.Humanoid)
end)

Other than that, this is one of my favorite 2020 updates! GG Roblox!

7 Likes

Nice feature!
One question I have is that would using proximity prompt as distance trigger be worth it? ex. connecting to the show event to do something else than ui, such as streaming in and out the model on client. Right now i have to iterate through every objects that is meant to be streamed and decide whether to render or not, which results in pretty high script activity.

1 Like

It has support for it already, clearly some people are confused on how it works so I might need to do a tutorial on the custom UI aspect of it.

2 Likes

Think this involves the Visible property.

You could parent the Seat and the ProximityPrompt into a model (separate from one another) to solve that, or by adding an Attachment/Invisible part for the ProximityPrompt to be placed within.

This is because it’ll only be shown when it is parented to an Attachment, BasePart, or Model, as mentioned in the Developer Hub Article.

2 Likes

Are there any currently known caveats to this feature, specifically in relation to exploiters? I am extremely interested in ridding of my custom implementation in favour of this natively supported feature.

I am sure ProximityPrompt will outperform what I have now and its range of customisation so far seems great, but as always one thing on my mind is regarding the security behind this feature so I can understand what steps I might need to take to mitigate such problems. For example, activating prompts without being close to them could be problematic, like with ClickDetectors.

3 Likes

Good point. We have accounted for this, as there is a server side check that the player is in range when a prompt is triggered.

14 Likes

For custom UI: ProximityPrompt | Documentation - Roblox Creator Hub

3 Likes

This is now fixed, was an error with the web page. Thanks again.

3 Likes

@crypto_mancer, @Rototally

ProximityPromptService/MaxPromptsVisible

PromptHidden

PromptShown

ProximityPrompt/InputHoldBegin

InputHoldEnd

PromptHidden

PromptShown

These pages do not exist

(I also think that it shouldn’t have the same icon as ClickDector)

other than that good job on the Feature! :+1: :clap: :tada:

8 Likes

Glad to hear there’s a serverside range check in the system.

Is there a serverside check for whether or not the player actually has a line of sight when the RequiresLineOfSight property is set to true, or is that still clientside like in the Beta?

3 Likes

You’re able to disable the default gui and implement your own, no hoops to jump through.

I’ve always wanted to implement some sort of way to use a keybind to actually activate a certain event, and trying to figure out magnitude with UIS (UserInputService) always got in the way. Thank you for releasing this! This will help out a lot, and will definitely make games look a lot smoother. Keep these awesome updates coming!

2 Likes