Proximity Prompt Studio Beta

It turns out the issue has to do with the line of sight property in cloned proximity prompts specifically. For some odd reason if I change the line of sight property to false in one of my proximity prompts it fixes all the other proximity prompts that were cloned earlier even-though they haven’t been changed at all.

This is awesome! However, I found an issue. For me, when you are in first person and hover your mouse over it then it just makes your screen stuck. I don’t know if this is only for me or if others are encountering this issue.

It looks like it has support for Xbox.

image

Edit: They said in the original post that it has Xbox support.

Thanks for checking out the beta!
There are a few reasons to prefer this system over a custom implementation.

  • Interactivity with others’ code. For example, you could drag in a car from the toolbox that was created by someone else, and its ProximityPrompts will play nice with your own
  • Less code for you to maintain
  • This feature implemented in the Roblox engine can be more performant
  • Players moving between games may become more familiar with a consistent system

That said, if you have a custom implementation you would prefer over this new system, I’d love to hear why it is preferable so we can try to improve.

Yes, these will get streamed out as their parent parts get streamed out. Any scripts outside the part that references it will not be able to assume the part’s lifecycle is forever. You will need to either:

  • Write your script in a way that allows the parts to be destroyed and spawned back in
  • Listen to events on ProximityPromptService instead of individual ProximityPrompt objects
12 Likes

I just think this is Christmas before Christmas. And I have a question: Is this more rapid than the traditional methods and if yes then why? It is more easy to use than the traditional methods, yes, this is true, but at performance levels is there any difference?

But I LOVE this idea really, this is for me my Christmas present. If we already had the Christmas present for Builders wich was SurfaceAppearance and FutureIsBright3, and a Christmas present for GUI Designers wich was the UICorner and UIGradient, now we have this. I am wordless. Thanks…

EDIT:
I just saw that the most of my question where answeared here:

Sorry for asking and annoying!

2 Likes

It may be possible with ProximityPrompt, and assuming so, is it suggested to use ProximityPrompt to start an action from being in range of an object, rather than prompting for input?

I was debating on making a Sci-Fi leaderboard that appears from the ground as you walked up to it and wasn’t sure if ProximityPrompt would allow this behavior or if it would be better to take a different approach?

Good catch, only a direct tap should activate the prompt button.

3 Likes

isn’t this just a local magnitude check? like, what new does this bring to the table that wasnt possible in a quick 20 seconds of writing code?

I understand this question may be a little stupid, how do I insert a ProximityPrompt, do I insert it into a part from this little plus bar?
image


Not sure if this is a bug, I put the example script inside of a part but nothing happens.

workspace.Part.ProximityPrompt.Triggered:Connect(function(player)

print("The user interacted with me!”)

end)



Here’s what the code look’s like inside of the script.
image

Awesome feature Roblox! I do have some questions. I understand this feature is in Beta, but:

How do you insert your own GUI to interact with this feature?
Will we be able to have multiple choice? An example being E to open a door and Q to lock the door?

Hello, thanks for trying out the beta!

You are correct, you would use the plus button there. If the beta is enabled, you should be able to start typing in ProximityPrompt, and this will appear for you to click on:

proximity

3 Likes

I tried searching, nothing appear’s.
Here’s a screenshot showing I have it enabled.
image
How do you take a screenshot while having the search open, when I try to take a snip it just cut’s off the search.
Here’s what I mean.

proximity

3 Likes

See my previous post:

The last quote on your print function is incorrect. It should be a ". You can read more about that here.

e.g

workspace.Parent.ProximityPrompt.Triggered:Connect(function(player)
    print("the user has intereacted with me!")
end)
3 Likes

This is an amazing addition, this saves lots of time, work and effort! Really thanks Roblox for adding this!

This is a wonderful feature and can be used for many different purposes.
Could you possibly make it so you have to actually press the key for the action to occur, (with proximity prompt being used off course) because when sitting you’re still able to sit by walking over the seat, even with proximity prompt enabled.


Here’s a quick video showing what I mean.
robloxapp-20201030-2052314.wmv (1.5 MB)


Sorry I don’t know how to make it so you can play the video on here, so you’ll have to download it, unless someone can tell me how it’s done.

Proximity should be a service separate from prompts. There are very many use cases in my games for fast distance checking that are NOT prompts, such as:

  • animating nearby props
  • having pets interact with nearby pets, props, etc
  • checking when the player has entered certain areas
  • checking when the camera has entered certain areas
  • making projectiles explode when near things but not touching, etc.
  • distance checking for optimizing spawn locations

It would be great to have api specifically for:

  • Fast GetNearestWithinSet(set, position) [returns the nearest instance from set]
  • BindInstanceEnteredProximity(instance/set, instance/set/position, range)
  • BindInstanceExitedProximity(instance/set, instance/set/position, range)
  • GetInstancesWithinProximity(set, position, range) [returns all instances within the range]

and maybe some stuff for getting furthest items might be useful.

As someone else pointed out, we can use invisible prompts to meet some of these needs but that seems hacky.

16 Likes

Another bug is this one, idk if someone mentioned it already.

local ProximityPrompt = Instance.new("ProximityPrompt")
local Part = Instance.new("Part")
ProximityPrompt.Parent = Part

Part.Position = script.Parent.Position
Part.Anchored = true
Part.Parent = workspace
ProximityPrompt.Triggered:Connect(function()
    print("Doesn't work! :(")
end)

So it doesn’t work if you create a new part and parent the ProximityPromt to it. It won’t work at all.

If you want disable sitting by walking over the seat, just change the Disabled property of the seat to true. All it does is disable sitting in the seat but Seat:Sit() will still work.

3 Likes

Looks really cool and I can definitely see the uses for this.

1 Like