Skip to content

okitaAsuka/kcp2k

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

kcp2k

C# kcp for Unity.

  • Kcp.cs based on kcp.c v1.7, line-by-line translation to C#
  • Fixed WND_RCV bug from original kcp
  • Optional high level C# code for client/server connection handling
  • Optional high level Unreliable channel added

Pull requests for bug fixes & tests welcome.

Unity

kcp2k works perfectly in netcore. where-allocation only works with Unity's mono sockets. In order to run the nonalloc tests, kcp2k remains a Unity project until Unity moves to netcore.

Allocations

The client is allocation free. The server's SendTo/ReceiveFrom still allocate.

Previously, where-allocation for a 25x reduction in server allocations. However:

  • It only worked with Unity's old Mono version.
  • It didn't work in Unity's IL2CPP builds, which are still faster than Mono + NonAlloc
  • It didn't work in regular C# projects.
  • Overall, the extra complexity is not worth it. Use IL2CPP instead.
  • Microsoft is considering to remove the allocation.

Remarks

  • Congestion Control should be left disabled. It seems broken in KCP.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%