Home

Awesome

banner

Nuget Build Status Azure DevOps tests Discord

What is MonoSync

MonoSync is a synchronization library that you can easily implement with attributes and helper functions. MonoSync enables you to synchronize an object (e.g. a game world) just like you would with a JSON serializer. MonoSync automatically keeps track of all changes and references. Which you can synchronize periodically.

What is MonoSync not

MonoSync is not a Network library. The serialized data is provided as byte[] and the user is free to choose his own Network layer.

Demos

<p float="left"> <a href="https://github.com/janfokke/MonoSync/tree/master/samples/Tweening"> <img src="Images/samples/monogame.svg" alt="MonoGame" width="150" height="150"> </a> </p>

Features

<dl> <dt>Delta compression</dt> <dd>Only changed values are synchronized.</dd> <dt>Object tracking</dt> <dd>New objects are automaticly tracked and synchronized.</dd> <dt>Interpolation</dt> <dd>Properties can be configured with a smooth transition between the current value and the newly received value</dd> </dl>

Getting started

https://github.com/janfokke/MonoSync/wiki/Getting-started

Documentation

https://github.com/janfokke/MonoSync/wiki

Demos

https://github.com/janfokke/MonoSync/tree/master/samples

Gallery

Interpolation

Interpolation sample