Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: EncryptionTransport native plugin AES-GCM #3775

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

imerr
Copy link
Contributor

@imerr imerr commented Mar 6, 2024

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

fix import flags

Show native state in ToString for NM HUD

Old unity support
@imerr
Copy link
Contributor Author

imerr commented Mar 24, 2024

213byte rpc * 50 rpcs per frame * 60 fps = 639.000 bytes/s/client * 100 clients = ~63.9MB/s = ~61MiB/s
Native:
2024-03-23_11-38-03_TrND70QxHA
BouncyCastle:
2024-03-23_11-44-03_Uxym3nSbQA

@imerr
Copy link
Contributor Author

imerr commented Mar 24, 2024

Client receive (slightly inconsistent data rates due to not locking server fps):
Native:
2024-03-23_11-48-04_S0nnlehCcl
BouncyCastle:
2024-03-23_11-46-47_d1rNvpzWfb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant