Question about events and waiting

When you connect a function to an event and wait in that function, does it pause scripts at all?

event:Wait()

yields the thread until event is fired.

If you mean

event:Connect(function()
    wait(5) -- example
end)

then it will just wait 5 seconds in that thread.

I believe that remote functions yield, but not remote events.

event:Connect(function()
wait(5) – example
end)

So this creates a separate thread?

Indeed it does create a separate thread. Event listeners are always called in a separate thread

1 Like