Difference between Bindable functions/events and Remote functions/events

Hi! :smiley: I have recently started learning Roblox scripting. I have seen and studied many topics, but I can’t understand this one, no matter how much I try.
So, what is the difference between Bindable functions/events and Remote functions/events? I understand slightly that remotes are used to talk between server scripts and local ones, but I just can’t fully get it.

Notes: I know what FilteringEnabled is, how Local and Server scripts work, I know how to call both Bindables and Remotes, and I have great knowledge of the basics of Lua, if that helps.

Thanks in advance :smile:


You’re right that remotes allow you to send messages from the game client to the game server. Remotes work similar to bindable events in you can fire functions and events, but BindableEvents and BindableFunctions allow you to run functions and fire events between local scripts, or between server scripts. It’s useful when you have a script that does one thing and another script that does something else, and you want them to be able to interact with each other.

Client script --> Another client script: use a Bindable.
Server script --> Another server script: use a Bindable.
Client script --> Server script: use a Remote.
Server script --> Client script: use a Remote.


Well, looks like I’ve been overcomplicating it all this time. Thanks a lot for your explaination :smile:
Have a nice day!