All Projects → Saishy → Tinybirdnet Unity

Saishy / Tinybirdnet Unity

Licence: other
A high level API for making networked games in Unity, utilizes https://github.com/RevenantX/LiteNetLib

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Tinybirdnet Unity

Nice Lua
基于xlua的MVVM框架,支持Addressables, 统一渲染管线等Unity新特性
Stars: ✭ 207 (+187.5%)
Mutual labels:  unity3d, network
Message Io
Event-driven message library for building network applications easy and fast.
Stars: ✭ 321 (+345.83%)
Mutual labels:  network, udp
Openseeface
Robust realtime face and facial landmark tracking on CPU with Unity integration
Stars: ✭ 216 (+200%)
Mutual labels:  unity3d, udp
Pesocket
A C# Network Library.
Stars: ✭ 134 (+86.11%)
Mutual labels:  unity3d, network
Yasio
A multi-platform support c++11 library with focus on asio (asynchronous socket I/O) for any client application.
Stars: ✭ 483 (+570.83%)
Mutual labels:  unity3d, udp
Ecs
ECS for Unity with full game state automatic rollbacks
Stars: ✭ 151 (+109.72%)
Mutual labels:  unity3d, network
Computer Networking A Top Down Approach Notes
《计算机网络-自顶向下方法(原书第6版)》编程作业,Wireshark实验文档的翻译和解答。
Stars: ✭ 3,890 (+5302.78%)
Mutual labels:  network, udp
Enet
⚡️ ENet reliable UDP networking library
Stars: ✭ 202 (+180.56%)
Mutual labels:  network, udp
Hp Socket
High Performance TCP/UDP/HTTP Communication Component
Stars: ✭ 4,420 (+6038.89%)
Mutual labels:  network, udp
Networker
A simple to use TCP and UDP networking library for .NET. Compatible with Unity.
Stars: ✭ 408 (+466.67%)
Mutual labels:  unity3d, udp
Network
C# Network Library
Stars: ✭ 237 (+229.17%)
Mutual labels:  network, udp
Pytcp
PyTCP is an attempt to create fully functional TCP/IP stack in Python. It supports TCP stream based transport with reliable packet delivery based on sliding window mechanism and basic congestion control. It also supports IPv6/ICMPv6 protocols with SLAAC address configuration. It operates as user space program attached to Linux TAP interface. As of today stack is able to send and receive traffic over Internet using IPv4 and IPv6 default gateways for routing. Since goal of this project is purely educational (at least at this point) the clarity of code is preferred over its efficiency. For the same reason security features are not being implemented just yet unless they are integral part of TCP/IP suite protocols specification.
Stars: ✭ 65 (-9.72%)
Mutual labels:  network, udp
Pjon
PJON (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol.
Stars: ✭ 2,615 (+3531.94%)
Mutual labels:  network, udp
Ignorance
Ignorance utilizes the power of ENet to provide a reliable UDP networking transport for Mirror Networking.
Stars: ✭ 158 (+119.44%)
Mutual labels:  unity3d, udp
Pypacker
📦 The fastest and simplest packet manipulation lib for Python
Stars: ✭ 216 (+200%)
Mutual labels:  network, udp
Hisocket
It is a lightweight client socket solution, you can used it in C# project or Unity3d
Stars: ✭ 275 (+281.94%)
Mutual labels:  unity3d, network
Kalm.js
The socket manager
Stars: ✭ 155 (+115.28%)
Mutual labels:  network, udp
Litenetlib
Lite reliable UDP library for Mono and .NET
Stars: ✭ 2,179 (+2926.39%)
Mutual labels:  network, udp
Game Networking Resources
A Curated List of Game Network Programming Resources
Stars: ✭ 4,208 (+5744.44%)
Mutual labels:  unity3d, network
Llama Archive
Loss & LAtency MAtrix
Stars: ✭ 44 (-38.89%)
Mutual labels:  network, udp

TinyBirdNet

A high level API for making networking games in Unity, utilizes RevenantX/LiteNetLib

The goal of TinyBirdNet is to create an environment where you can easily add networking to unity games, while using the LiteNetLib behind the scenes.

Features

  • Deals with lots of common problems like readying, scene changes, player owned objects.
  • All code available, no obfuscation, no dlls.
  • Free for noncommercial projects! Try it fully without paying.
  • No additional charges for CCU, bandwidth, nothing, it's yours to use.

Latest Versions:

  • 2.0.0.a1
    • Added server tick.
    • Changed component system to use Interfaces, no need to extend from a specific class anymore.
    • Dirty flags are dynamically sized up to 64 different automatic synced variables.
    • State updates are now packed into a single message.
    • ToDo:
      • Client-Side prediction.
      • Lag compensation.
      • Add emoji communication.
      • Update wiki and documentation
  • 1.1.3
    • Added documentation to most parts of the code.
    • Fixed minor typos.

Supports Unity 2017 and above

Current version has been tested across Windows and Linux, please open an issue if you find any bugs.

Two players connected

How To Use

Adding the TinyBirdNet folder under Assets to your project will give you everything needed to start networking on your game.

Inside the Examples folder you will find a simple working demo of a networked game.

You will need a TinyNetGameManager or derived instance always enabled on your game, so please add one to your first scene and mark it as Don't Destroy on Load. An unique "ConnectKey" is required for your game to be able to connect, preferably include the current version of your application on the key string.

The recommended workflow is to create a class derived from TinyNetPlayerController and implement your player control logic there, for each new player on the game a new TinyNetPlayerController is spawned. You are able to send inputs between the client Player Controllers and the server one by using an TinyNetInputMessage.

Each GameObject that you wish to include network code must contain a single TinyNetIdentity, after that, classes that wish to include networking code must either implement ITinyNetComponent or you can make it a child of TinyNetBehaviour to gain access to many features like [TinyNetSyncVar] and RPC methods.

By creating classes derived from TinyNetBehaviour you are able to enjoy the automatic serialization and deserialization, though manual serialization/deserialization and use of ITinyNetMessage are still possible.

You are able to sync up to 64 Properties per TinyNetBehaviour by using the [TinyNetSyncVar] Attribute. You may at any time bypass this limit by implementing your own TinySerialize and TinyDeserialize Methods.

You are able to spawn and destroy objects in the network by merely calling TinyNetServer.instance.SpawnObject and TinyNetServer.instance.DestroyObject on a server, given a valid GameObject that contains a TinyNetIdentity.

Remember to register all prefabs that have TinyNetIdentity on your TinyNetGameManager, manually or by clicking the Register all TinyNetIdentity prefabs button on your TinyNetGameManager inspector.

Please see the Wiki and Documentation for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].