Loic.Unity-Technologies.com.unity.multiplayer.mlapi 1.0.0

dotnet add package Loic.Unity-Technologies.com.unity.multiplayer.mlapi --version 1.0.0
                    
NuGet\Install-Package Loic.Unity-Technologies.com.unity.multiplayer.mlapi -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.com.unity.multiplayer.mlapi" 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.com.unity.multiplayer.mlapi" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Loic.Unity-Technologies.com.unity.multiplayer.mlapi" />
                    
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.com.unity.multiplayer.mlapi --version 1.0.0
                    
#r "nuget: Loic.Unity-Technologies.com.unity.multiplayer.mlapi, 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.com.unity.multiplayer.mlapi@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.com.unity.multiplayer.mlapi&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Loic.Unity-Technologies.com.unity.multiplayer.mlapi&version=1.0.0
                    
Install as a Cake Tool

alternate text is missing from this package README image

GitHub Release Github All Releases

Forums Discord

Website Api

The Unity MLAPI (Mid level API) is a framework that simplifies building networked games in Unity. It offers low level access to core networking while at the same time providing high level abstractions. The MLAPI aims to remove the repetitive tasks and reduces the network code dramatically, no matter how many of the modular features you use.

Getting Started

To get started, check the Multiplayer Docs Site.

Community and Feedback

For general questions, networking advice or discussions about MLAPI, please join our Discord Community or create a post in the Unity Multiplayer Forum.

Compatibility

The MLAPI supports all major Unity platforms. To use the WebGL platform a custom WebGL transport based on web sockets is needed.

MLAPI is compatible with Unity 2019 and newer versions.

Development

We follow the Gitflow Workflow. The master branch contains our latest stable release version while the develop branch tracks our current work.

This repository is broken into multiple components, each one implemented as a Unity Package.

    .
    ├── com.unity.multiplayer.mlapi            # The core netcode SDK unity package (source + tests)
    └── testproject                            # A Unity project with various test implementations & scenes which exercise the features in the above package(s).

Contributing

The MLAPI is an open-source project and we encourage and welcome contributions. If you wish to contribute, be sure to review our contribution guidelines

Issues and missing features

If you have an issue, bug or feature request, please follow the information in our contribution guidelines to submit an issue.

Example

Here is a sample MonoBehaviour showing a chat script where everyone can write and read from. This shows the basis of the MLAPI and the abstractions it adds.

public class Chat : NetworkBehaviour
{
    private NetworkList<string> ChatMessages = new NetworkList<string>(new MLAPI.NetworkVariable.NetworkVariableSettings()
    {
        ReadPermission = MLAPI.NetworkVariable.NetworkVariablePermission.Everyone,
        WritePermission = MLAPI.NetworkVariable.NetworkVariablePermission.Everyone,
        SendTickrate = 5
    }, new List<string>());

    private string textField = "";

    private void OnGUI()
    {
        if (IsClient)
        {
            textField = GUILayout.TextField(textField, GUILayout.Width(200));
            
            if (GUILayout.Button("Send") && !string.IsNullOrWhiteSpace(textField))
            {
                ChatMessages.Add(textField);
                textField = "";
            }

            for (int i = ChatMessages.Count - 1; i >= 0; i--)
            {
                GUILayout.Label(ChatMessages[i]);
            }
        }
    }
}
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