Credits

Pigeon is heavily inspired by roblox-sockets by OMouta. If you have not seen it, go and look at it.

roblox-sockets

roblox-sockets brought the socket style to Roblox networking. You name an event, you listen for it with On, you raise it with Emit, and the RemoteEvents stay out of your way. Pigeon's whole shape comes from that idea.

These are the parts Pigeon took from it:

IdeaWhere it shows up in Pigeon
Named events with On and Emit Sending and Receiving
Rooms Rooms
Middleware on the way in and the way out Middleware
Request and response with a timeout Requests and Replies
An unreliable mode for cheap, lossy sends Unreliable Sending

The shape carried over, not the method names. In Pigeon Emit is client to server only; the server raises an event with Broadcast, BroadcastTo or BroadcastExcept.

If that list is everything your game needs, roblox-sockets may well be the better fit. It is a good library and it got there first.

What Pigeon adds

Pigeon grew out of wanting a few more things on top. These are the parts that are its own.

AdditionWhat it is for
A shared hashed remote pool Channels share a pool of RemoteEvents. It grows by one per sixteen transformers and stops at thirty-two.
Per channel readiness and buffering The server holds a channel's messages until that client says it is listening.
Handshake locked channels A channel that carries nothing for a client the server has not approved.
Staged tables A table whose writes replicate to the clients holding it.
Transformer based group teardown One call drops a whole group of channels and every listener on them.

Licence

Pigeon is released under the MIT licence, copyright 2026 Gage Ruben. Use it, change it, ship it in a paid game. Keep the copyright notice and the permission notice with the code and you are fine.

Roblox and Luau are trademarks of Roblox Corporation. Pigeon is an independent project and is not made by or endorsed by them.