GitHub: https://github.com/DrBlackRat/VRC-Secure-Networking
Secure Networking is available via the Creator Companion as a VPM package!
For Standalone Unity I also provide a Unity Package with every release.
If you have questions / need help feel free to join the support Discord!
Secure Networking is a networking system for VRChat that lets you control who is allowed to send network data.
Instead of using normal Udon manual syncing, it uses network events with parameters. This means the system can check who actually sent the data before applying it.
It also automatically keeps track of an Authoritative Sender. If they leave or are no longer allowed to send data, Secure Networking will find another valid sender and transfer the authority.
Secure Networking is made up of two scripts:
SecureNetworkBehaviourThis is the script you inherit from for your own networking system.
You define:
SecureNetworkingInstanceThis handles the actual networking for your SecureNetworkBehaviour.
It takes care of sending and receiving the network events, validating the sender, managing the Authoritative Sender, and handling new players joining.
You connect your SecureNetworkBehaviour to a SecureNetworkingInstance and then use the instance to send your network data.
Take a look at the included demo scene and example scripts! They should help you with understanding the setup and how everything connects.
You can find it in Unity under:
Tools > DrBlackRat > Secure Networking
Create a script that inherits from SecureNetworkBehaviour.
Implement its required methods.
Add a SecureNetworkingInstance prefab to your scene.
Tools > DrBlackRat > Secure Networking.Connect your behaviour to the instance.
Call _SendNetworkData() whenever you want to send an update.
You can also call _ValidateAllowedSenders() whenever the players who are allowed to send data change.
Secure Networking is meant for syncing state, not for guaranteeing that every single update is received.
If multiple updates are sent, newer data can replace older data that has not been applied yet. This is intentional and helps prevent stale network data from being applied.
xyz.drblackrat.vrc.securenetworking
Undefined
1.1.0
2022.3 or later
No dependencies
No legacy packages
Undefined