• Examples (Unity)
• Examples (iOS)
• Examples (Android)
• Examples (C++)
Server API Documentation


» Unity/C# examples

In this section of the documentation we provide a series of brief tutorials on the C# examples for the Unity platform distributed as a specific package on the SmartFoxServer 2X download page. Specifically the tutorials refer to the Unity 2017.1 examples, but the concepts and the code to interact with the SFS2X API are valid for any version of Unity (unless otherwise noted).

Most tutorials analyze a single example, describing its objectives, giving an insight into the SmartFoxServer features it wants to highlight and providing the direct link to download the source code, which includes all the assets required to compile and test it (both client and — if existing — server side). If necessary, code excerpts are provided in the tutorial itself, in order to better explain the approach that was followed to implement a specific feature. At the bottom of the tutorial, additional resources are linked if available.

The tutorials follow an increasingly complexity curve from basic server connections over chat messaging to full realtime games with authoritative server extension.

Specifically the examples will show:

  1. basic connection
  2. chat messaging and room management
  3. buddy list management
  4. game rooms and extension messaging
  5. simple client side 3d object movement
  6. server authoritative first person shooter
  7. demo of the MMO-related features
  8. clients synchronization in a space shooter game
  9. protocol encryption

» Usability on different Unity deployment targets

All examples run seamless and are interoperable on the following build targets:

Other platforms might be compatible with the examples, but haven't been tested directly.

Due to the different requirements of the build targets, the SmartFoxServer C# API is distributed as three separate DLLs: a DLL specific for WebGL builds, a DLL for Universal Windows Platform builds (and native UWP development) and a DLL for all other Unity target platforms (including the Unity Editor itself) and non-Unity development (see Usability on non-Unity platforms below).
Most examples use all three DLLs in separate subfolders under the Plugins folder and are configured as described in this document.

The user interfaces have been developed primarily for desktop usage, so they might not fit 100% into mobile screen size without a little extra work. Also they are based on the UI system available in Unity since version 4.6.

» Usability on non-Unity platforms

The client API is fully usable on other .NET enabled platforms like ASP.NET or console applications and is thus not limited to Unity usage. The examples are not directly compilable on these platforms, but all relevant C# code is placed in the same Scripts folder and it's 99% usable via copy/paste in a different context.

When using the API on these targets you will have to either run the API in non-thread safe mode or process the callback events in a timer. Check this link for more information on non-thread safe mode.

» Requirements

Unless otherwise noted inside the tutorials:

All the examples make use of the latest version of the SmartFoxServer 2X C# API available at the time of their development. As the API evolve in time (bug fixes, new features), we strongly recommend that, after downloading an example, you overwrite the included API DLL files with those provided in the latest SmartFoxServer C# API package available on our website.