feat: EncryptionTransport native plugin AES-GCM
Optional native plugin that takes over the bulk of the runtime work: the encryption and decryption of data. The handshake is still done in C#. Native plugin currently lives here: https://github.com/imerr/RustyMirrorEncryption can be moved into the mirror org if we're happy There is builds for loads of architectures, including: Windows 32/64bit, Linux 32/64bit/ARM, Android, Mac 64bit/ARM, IOS ARM, Android ARM64/ARMv7 I've only tested the windows 64bit build so far.. so good luck! Might need some tweaks to the libs in-editor too (the windows one unity wanted to load the 32bit one) Very much WIP
213byte rpc * 50 rpcs per frame * 60 fps = 639.000 bytes/s/client * 100 clients = ~63.9MB/s = ~61MiB/s
Native:
BouncyCastle:
Client receive (slightly inconsistent data rates due to not locking server fps):
Native:
BouncyCastle: