Loic.Unity-Technologies.multiplayer 1.0.0

dotnet add package Loic.Unity-Technologies.multiplayer --version 1.0.0
                    
NuGet\Install-Package Loic.Unity-Technologies.multiplayer -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Loic.Unity-Technologies.multiplayer" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Loic.Unity-Technologies.multiplayer" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Loic.Unity-Technologies.multiplayer" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Loic.Unity-Technologies.multiplayer --version 1.0.0
                    
#r "nuget: Loic.Unity-Technologies.multiplayer, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Loic.Unity-Technologies.multiplayer@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Loic.Unity-Technologies.multiplayer&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Loic.Unity-Technologies.multiplayer&version=1.0.0
                    
Install as a Cake Tool

Welcome

Welcome to the Unity Real-time Multiplayer Alpha repository!

Here you can find all the resources you need to start prototyping your own real-time multiplayer games.

NetCode Manual

Transport Manual

Click here to visit the forum

Included content

  • sampleproject/ - Unity Project containing all the multiplayer samples.
  • sampleproject/Assets/Samples/Asteroids - Asteroids clone demonstrating the core netcode concepts.
  • sampleproject/Assets/Samples/LagCompensation - Sample showing lag compensation based on Unity Physics.
  • sampleproject/Assets/Samples/NetCube - Sample showing basic netcode usage.
  • sampleproject/Assets/Samples/Ping - Sample showing basic transport usage.
  • sampleproject/Assets/Samples/Soaker - A soak tester for the transport, for testing typical production load.
  • sampleproject/Assets/Samples/CustomNetworkInterface - A sample showing how to use a game specific socket implementation in Unity Transport.

Unity Transport Package

The new Unity Transport Package which will replace the UNet low-level API. The preview of the transport package supports establishing connections and sending messages to a remote host. It also contains utilities for serializing data streams to send over the network. For more information about the transport package, please see the Unity Transport Documentation

Unity NetCode Package

The netcode package provides the multiplayer features needed to implement world synchronization in a multiplayer game. It uses the transport package for the socket level functionality and is made for the Entity Component System. Some higher level things it provides are

  • Server authoritative synchronization model.
  • RPC support, useful for control flow or network events.
  • Client / server world bootrapping so you have clear seperation of logic and you can run a server with multiple clients in a single process, like the editor when testing.
  • Synchronize entities with interpolation and client side prediction working by default.
  • Network traffic debugging tools
  • GameObject conversion flow support, so you can use a hybrid model to add multiplayer to a GameObject/MonoBehaviour based project.

For more information about the netcode package, please see the Unity NetCode Documentation

Samples

Ping

The ping sample is a good starting point for learning about all the parts included in the transport package. The ping client establishes a connection to the ping server, sends a ping message and receives a pong reply. Once pong is received the client will disconnect. It is a simple example showing you how to use the new Unity Transport Package. Ping consists of multiple scenes, all found in sampleproject/Assets/Scenes/ .

  • PingMainThread.unity - A main-thread only implementation of ping.
  • Ping.unity - A fully jobified version of the ping client and server.
  • PingClient.unity - The same jobified client code as Ping.unity, but without the server.
  • PingServer.unity - The dedicated server version of the jobified ping. A headless (or Server Build in 2019.1) Linux 64 bit build of this scene is what should be deployed to Multiplay.
  • PingECS.unity - An ECS version of the jobified ping sample.
Soaker

A stress test which will create a set number of clients and a server in the same process. Each client will send messages at the specified rate with the specified size and measure statistics.

Asteroids

A small game featuring the Unity NetCode Package features.

LagCompensation

A sample showing a way to implement lag compensation based on Unity Physics. In a game based on the Unity NetCode the client will display an old world state, lag compensation allows the server to take this into account when performing raycasts so the player can aim at what is actually displayed on the client.

NetCube

A small sample featuring the Unity NetCode Package features. This is the code used in the Unite presentation about NetCode

Installation

To try out samples in this repository all you need to do is open sampleprojects/ in Unity. If you wish to create a new Unity project using these packages that is also possible.

  • Make sure you have a supported version of Unity (2019.3 or newer)
  • Create a new Unity project
  • If you want to use the NetCode, add Unity NetCode from the package manager.
  • If you want to use the transport but not NetCode, add Unity Transport from the package manager.
  • Package dependencies will automatically be pulled into the project
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net5.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 0 7/31/2021