For now I think you can just use an invisible custom UI, and listen for the PromptShown
/PromptHidden
events to show the real one on screen.
I’m not too sure if that feature is completely modular as it literally just came out. What I’ll do for now is to attempt to override the main GUI (CoreScripts or CoreGUI??) by just literally making that GUI invisible.
Easier said than done if it’s a core script, but I believe ROBLOX will provide more modularity somehow in the future. You ain’t the only one waiting eh?
I think you misunderstood, I meant like I want a custom screengui not the billboard one that comes with it.
Yeah definitely not I hope they get some support for custom GUIs ASAP.
Oh, that’s answered on the Beta announcement. Here it is:
And also in this same post lol:
Well that solves that, thanks.
Edit:
I am clearly blind…
Thanks for the interest in the feature!
The documentation here should be able to point you in the right direction for customizing the GUI:
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.
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!
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
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.
Hmm… There isn’t a prompt:
Setup:
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!
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.
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.
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.
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.