uLink Overview

uLink is a network library built for the Unity game engine. The uLink API is designed to be very similar to the built-in network library available with Unity. uLink completely replaces the Unity network library and also adds new, powerful features.

Install and use uLink to begin programming game clients and game servers in the Unity Editor. The purpose of uLink is to be the best Unity network library for all kinds of commercial multiplayer games. All you need to build and deploy clients and servers are the Unity Editor and uLink.

The uLink source code is written in 100 % C#.

uLink makes it extremely fast and simple for developers to create network functionality. If you love Unity, you will love uLink. However, it is still best to understand the breadth and depth involved with creating any kind of network game. The pages in this manual explain the fundamentals of networking concepts, and the uLink specific executions of these concepts. If you have never created a network game before, it is highly recommended that you read this guide in detail before attempting to create one. If you are an advanced network programmer already, you can skim this manual quickly to get an overview of the product.

Performance

uLink is engineered for slashing development time but it still outperforms its competition in all the comparisons made to date. uLink is able to do so since it has been able to take advantage of last years vast improvements in C# and by being tightly integrated with Unity as a server. The superior performance becomes even more apparent when a game uses physics on the server side.

FPS games

uLink has several core features for First Person Shooters (FPS). Most of them are demonstrated in the free demo game Snowbox, which is included (with source code) in uLink. Use the example code to learn and get a head start. Get your hands on some script code for dead reckoning and client side prediction and then implement those features in your own game.

MMO games

You can set up a traditional zoned MMO with several game servers, one for each zone in the world. You may use the uLink P2P features to transfer player characters or NPCs between game servers. However, uLink also has support for using PikkoServer, an advanced load-balancing networking backend that connects several uLink servers into a seamless world, and dynamically load balances network objects based on their geographical distribution as to minimize network communication.

Other game types

uLink can be used to build any kind of multiplayer game. For example, there are some performance guidelines availble for hosting very high number of players in a single uLink game server. This is useful when designing social web games.

Compatible with Unity built-in network

uLink uses the same programming paradigm as Unity’s built-in network, making it easy for developers to start using uLink. Convert code written for the Unity built-in network with two simple clicks using the included code converting tool.

Just like Unity’s built-in network, uLink includes a master server, a proxy server and a policy server. But the uLink master server has more features and it runs on both Linux and Windows.

Licences

The evaluation version of uLink is free and valid for 30 days. Technically there are no restrictions if one would like to continue to evaluate past the 30 days.

A uLink licence is valid for one game title and can be acquired separately or as part of the UnityPark Suite licencing package.

Audience

This manual is written for game developers with some Unity familiarity. If you haven't used Unity that much, we recommend that you read about some important concepts like game objects, prefabs and message callbacks. These concepts are described on the Unity site:

http://docs.unity3d.com/Documentation/Components/class-GameObject.html
http://docs.unity3d.com/Documentation/Manual/Prefabs.html
http://docs.unity3d.com/Documentation/ScriptReference/GameObject.SendMessage.html