All Projects → JohannesDeml → ENetUnityMobile

JohannesDeml / ENetUnityMobile

Licence: MIT License
Using ENet-CSharp for a multiplayer setup with a Unity Client and .Net Core Server environment

Programming Languages

C#
18002 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to ENetUnityMobile

Toast Haste.framework
TOAST Haste framework is a pure java implementation of asynchronous game server framework
Stars: ✭ 95 (+251.85%)
Mutual labels:  multiplayer, udp
m2o-reborn
Original Mafia2 Multiplayer modification
Stars: ✭ 31 (+14.81%)
Mutual labels:  udp, enet
Frame-Number-Sync
Keeps time in sync between server and client.
Stars: ✭ 31 (+14.81%)
Mutual labels:  multiplayer, enet
Lunamultiplayer
Multiplayer mod for Kerbal Space Program (KSP)
Stars: ✭ 265 (+881.48%)
Mutual labels:  multiplayer, udp
ENet-CSharp
A improved fork of ENet, a tried and true networking library. C, C++, C# compatible.
Stars: ✭ 65 (+140.74%)
Mutual labels:  udp, enet
RiptideSampleFPS
Sample FPS project using RiptideNetworking, and source code for the Riptide tutorials.
Stars: ✭ 80 (+196.3%)
Mutual labels:  multiplayer, udp
KingNetwork
KingNetwork is an open source library to facilitate the creation and communication of clients and servers via TCP, UDP, WebSocket and RUDP sockets.
Stars: ✭ 78 (+188.89%)
Mutual labels:  multiplayer, udp
ngx stream upstream check module
nginx health checker (tcp/udp/http) for stream upstream servers.
Stars: ✭ 18 (-33.33%)
Mutual labels:  udp
iOS ARkit2 Multiusers
An example implemented multiplayer experience in ARKit2
Stars: ✭ 19 (-29.63%)
Mutual labels:  multiplayer
packet
📦 Send network packets over a TCP or UDP connection.
Stars: ✭ 68 (+151.85%)
Mutual labels:  udp
kcp-dotnet
KCP dotNet Core implementation
Stars: ✭ 26 (-3.7%)
Mutual labels:  udp
Crystalshire
Legacy VB6 open-source ORPG
Stars: ✭ 24 (-11.11%)
Mutual labels:  multiplayer
mangband
A free online multi-player realtime roguelike game based on Angband
Stars: ✭ 54 (+100%)
Mutual labels:  multiplayer
Pytorch-ENet-Nice
Pytorch to train ENet of Cityscapes datasets and CamVid datasets nicely
Stars: ✭ 30 (+11.11%)
Mutual labels:  enet
AG NTRIP ESP
AG Rooftop controller with NTRIP client and IMU (ESP32 Controller)
Stars: ✭ 25 (-7.41%)
Mutual labels:  udp
StatsN
A modern c# statsd client for .net core and .net 4.0+
Stars: ✭ 19 (-29.63%)
Mutual labels:  udp
jfastnet
Fast, reliable UDP messaging for Java. Designed for games.
Stars: ✭ 26 (-3.7%)
Mutual labels:  udp
creature-creator
Procedurally generate creatures in Unity - inspired by Spore.
Stars: ✭ 185 (+585.19%)
Mutual labels:  multiplayer
opengnb
GNB is open source de-centralized VPN to achieve layer3 network via p2p with the ultimate capability of NAT Traversal.GNB是一个开源的去中心化的具有极致内网穿透能力的通过P2P进行三层网络交换的VPN。
Stars: ✭ 440 (+1529.63%)
Mutual labels:  udp
PlaceInvaders
Multiplayer AR game sample
Stars: ✭ 24 (-11.11%)
Mutual labels:  multiplayer

ENet Unity Mobile Setup

Bootstrap setup for a client server architecture
Unity 2021.1 .NET 5.0 Release Date

Live Preview

Description

A multiplayer setup with a unity client and a .Net Core server. The application is a very simple chat server, that shows how the clients can communicate with the server and vice versa. Other than being a small tech demo, the repo explains how to compile ENet for android and iOS and provides built libraries for those platforms to kickstart your project.

Client platform support 32 Bit 64 bit
Android ✔️ ✔️
iOS ✔️
Windows ✔️
Mac ✔️
Linux ✔️

The server application is built with .Net Core and therefore will run on Windows, Mac or Linux.

Libraries

  • ENet-CSharp 2.4.7
  • Unity 2021.1.9f1, but should work fine in almost any version
  • .Net 5 Server

Run Project

Server

Commandline Server

Get the appropriate build from the release section and run it via command line. Alternatively you can also open the ENetServer Solution with the IDE of your choice and run it.

The server listens to Port 3333 and can be aborted by pressing any key.

Client

Commandline Server

Either get the build for Android or Windows from the release page or open the project in Unity and run it (Make sure you started the server). Find out the ip of your server (127.0.0.1 if it is on the same machine), and click connect.

When connected successfully, you can enter messages in the box next to the send button. The messages will be broadcasted to all other clients that are online at that time.

Build Libraries

The easiest way is to get the built libraries from the release page.
If you want to build them yourself (or for a newer ENet version), take a look at the instructions below.

Android

  1. Install NDK (Or search for the version you use inside unity)
  2. Install make - On Windows use Cygwin
  3. Add the ndk build folder to your path environment variables e.g C:/Data/SDKs/android-ndk-r19c/build
  4. Clone [email protected]:nxrighthere/ENet-CSharp.git
  5. Navigate to ENet-CSharp/Source/Native
  6. If you ran the script before, you might want to delete the obj folder inside Native first, to be sure the project is regenerated
  7. Run ndk-build in the Native folder.
  8. Copy the folders arm64-v8a, armeabi-v7a and x86 from the generated libs folder to your unity project to Assets/Enet/Plugins/Android/.
  9. Set arm64-v8a to ARM64, armeabi-v7a to ARMv7 and x86 to x86.

iOS

  1. Install XCode
  2. Clone [email protected]:nxrighthere/ENet-CSharp.git
  3. Navigate to ENet-CSharp/Source/Native
  4. Run sh build-ios.sh
  5. Copy libenet.a to your unity project to Assets/Enet/Plugins/iOS/libenet.a
  6. Set libenet.a to iOS only with CPU ARM64

Windows

  1. Install CMake & Visual Studio with C++
  2. Navigate to ENet-CSharp/Source/Native
  3. Create a folder called build and open a terminal there
  4. run cmake ..\ -DENET_SHARED=true - this should fill your build folder with a visual studio project.
    1. Alternatively you can also use the cmake GUI to set up your project. Screenschot Cmake
  5. Open your sln file and build with MinSizeRel
  6. Copy the generated dll from ENet-CSharp/Source/Native/build/MinSizeRel/enet.dll to your unity project to Assets/Enet/Plugins/x86_64
  7. Set enet.dll for Editor and Standalone with Windows x64

License

MIT

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].