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

[Concept] : [Unity] : Netcode Base #3285

Open
h0lybyte opened this issue Nov 20, 2024 · 9 comments
Open

[Concept] : [Unity] : Netcode Base #3285

h0lybyte opened this issue Nov 20, 2024 · 9 comments
Assignees
Labels
6 Level 6 staging This item is in progress. unity Something is not working with Unity

Comments

@h0lybyte
Copy link
Member

Core Concept/Theory
We would need a clear and concise description of the concept. For example, It would be cool if [...]

This is the issue ticket for keeping track of the netcode related to the webgl build.
We will have to write the basics into the kilonet package and try to get a demo of the build into the Discord activities.
I am thinking once we get the base built and do something easy, like chatting and connecting the players, we can start to expand out the base.


Alternative Ideas
Is there any other way this concept could be used?

No alternative ideas yet.


Alternative Examples/Sources
Are there any other references that you can provide?

No examples as of right now.


Additional information
Add any other context or examples of this concept here.

Additional information will be in the comment section.

Application Notes
KBVE Graph

@h0lybyte h0lybyte added 0 Neutral Level enhancement New feature or request labels Nov 20, 2024
@h0lybyte h0lybyte self-assigned this Nov 20, 2024
@h0lybyte h0lybyte added this to KBVE Nov 20, 2024
@h0lybyte h0lybyte moved this to Theory in KBVE Nov 20, 2024
@h0lybyte h0lybyte added the unity Something is not working with Unity label Nov 20, 2024
@h0lybyte
Copy link
Member Author

Side note, when making the network manager, we need to make sure that there is a bit of a split during the condition:

#if UNITY_WEBGL && !UNITY_EDITOR
    m_Driver = NetworkDriver.Create(new WebSocketNetworkInterface());
#else
    m_Driver = NetworkDriver.Create(new UDPNetworkInterface());
#endif

h0lybyte added a commit that referenced this issue Nov 20, 2024
…d the driver to the default for UDP Transport.

#3285
@h0lybyte
Copy link
Member Author

supabase-community/supabase-csharp#126

For the supabase, we can hold off on that until I get the chat and player movement done. Afterwards we can easily add in the Supabase realtime, so a dual server approach.

@h0lybyte
Copy link
Member Author

@h0lybyte
Copy link
Member Author

For the sake of the cluster, going to disable the UDP service from the helm chart.

@h0lybyte h0lybyte added 6 Level 6 staging This item is in progress. and removed 0 Neutral Level enhancement New feature or request labels Dec 1, 2024
@h0lybyte h0lybyte moved this from Theory to Staging in KBVE Dec 1, 2024
@h0lybyte
Copy link
Member Author

h0lybyte commented Dec 1, 2024

The websockets are wired, and we need to start breaking down the communication layers. I am thinking that we split the connections, having the auth and database websocket connections go directly to supabase realtime, while having the game aka room sessions go directly to Rust.

@h0lybyte
Copy link
Member Author

h0lybyte commented Dec 2, 2024

For the Discord <=> Unity, we can use this as our example, https://github.com/Furnyr/Dissonity/blob/main/unity/Runtime/DissonityApi.cs

@JigSawPsycho
Copy link
Contributor

Watched @h0lybyte building the JavaScript FFI. Will circle back to this in the future.

@h0lybyte
Copy link
Member Author

https://discussions.unity.com/t/webgl-runtimeerror-memory-access-out-of-bounds/242575

This could be a solution for the FFI errors that we are having.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6 Level 6 staging This item is in progress. unity Something is not working with Unity
Projects
Status: Staging
Development

No branches or pull requests

2 participants