Heyo! I have released yet another new networking module.
SwitchNet is a blazingly fast networking module for reducing bandwidth and overhead across remotes, and is also designed to be extremely easy to use.
It also implements some security features to further protect against attacks.
It is buffer-based to achieve the custom compression of values resulting in reduced bandwidth, and also has per frame batched replication to help reduce remote overhead of requests, and supports all three remote types:
RemoteEventUnreliableRemoteEventRemoteFunction
This library is licensed under the MIT license.
Installation
To install, you can install via. Wally, or via the latest release on the GitHub.
Documentation
Documentation + other info can be found on the GitHub.
Bandwidth reduction
With an outgoing stream from Client → Server with a payload being sent to the server at a rate of 10Hz, these were the data figures i got using the following payload:
local Copies = 4000
local Object = {
Size = vector.create(53, 55, 89.62),
CFrame = CFrame.new(39.225, 31.1, 531.643) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(15), math.rad(155)),
Disabled = false,
Floating = false,
Metadata = {
Name = "I am John.",
ClientAge = os.clock(),
Timestamps = { os.time(), os.time(os.date("*t")) },
ExtraMetadata = {
__TAG = "TagName...I think? Idk",
__ATT = "__ID",
__EXTRA_ATTS = { "__META_ID", "__MISC_ID" },
},
},
Info = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut),
CK = FloatCurveKey.new(0.1, Enum.KeyInterpolationMode.Linear),
Date = DateTime.now(),
}
local Payload = table.create(Copies, Object)
Average data rate sent after ~30 seconds of the test running:
| Remote type | Avg. Outgoing data rate |
|---|---|
| SwitchNet remote | ~5.98KB/s |
| Raw remote | ~9569.61KB/s |
These results were gathered using version v0.2.5.
Roblox also natively compresses buffers when they are sent over remote events, which is what allows the data rate to get this low.
The data rate will obviously depend on whatever the data you are sending is, but we are already seeing great results.
CPU efficiency
SwitchNet implements loads of optimizations to ensure that there is minimal CPU usage being wasted. Even with a non-strictly typed network library, it can achieve pretty good speeds.
Some pros and cons
While i do believe this is a decent resource especially for less experienced programmers, there is still some things to address.
Pros
- Simple-to-use API + readable codebase
- Less performance compromise of having a non-strictly typed structure
- More friendly towards less experienced developers looking to just reduce bandwidth
Cons
- Won’t allow you to define exactly how a packet is compressed, which can result in bandwidth bloat (due to lack of strictly-typed structures, e.g. every plain number is sent over as a float64 still)
- Might not be very suitable for more advanced games/systems that rely much more on more powerful micro-optimizations/organizing using schemas/type structures
If you are an advanced developer who is more-so leaning towards prioritizing micro optimizations/schema structures/other more advanced control features for your games/systems, then this library probably won’t be as suitable.
But if you are a developer looking for a simple system that is quick and easy to add, and more focused on at least optimizing your remotes significantly, this is a great choice.
Final summary
If you do check this out or even use it, i would love to hear your feedback on how i could improve this even more, or if you run into any bugs/other issues.
Thanks for checking this out! I hope this is a useful resource for some developers. ![]()

