xgaming.tools

s&box Sync Properties Generator

Build [Sync] property snippets for s&box Components — pick your type (int, bool, Vector3, GameObject, NetList<T>, NetDictionary<K,V>), add SyncFlags (Query, FromHost, Interpolate), and optionally wire up [Change] callbacks. Outputs valid C# class fragments per the official Facepunch sync-properties spec.

Properties (2)

What is [Sync]?

The [Sync] attribute on a property of a s&box Component sends its latest value to other players each time it changes. The owner of the GameObject controls the value — only the owner can change it. Supported types are unmanaged value types (int, bool, Vector3, float, structs), string, and a few reference types Facepunch serializes specifically: GameObject, Component, GameResource.

SyncFlags

FlagEffect
SyncFlags.FromHostThe host has ownership over the value.
SyncFlags.QueryQuery this value for changes rather than counting on set being called. This is appropriate if the value returned by its getter can change without calling its setter.
SyncFlags.InterpolateThe value will be interpolated between ticks. This is currently only supported for <see cref="T:System.Single" />, <see cref="T:System.Double" />, <see cref="T:Angles" />, <see cref="T:Rotation" />, <see cref="T:Transform" />, <see cref="T:Vector3" />.

Networked Collections

Plain List<T> and Dictionary<K,V>aren't networked — use NetList<T> and NetDictionary<K,V> instead. They share the same indexer / Add / Remove API but stream changes across the network.

public enum AmmoCount { Pistol, Rifle }

public class MyComponent : Component
{
  [Sync] public NetList<int> List { get; set; } = new();
  [Sync] public NetDictionary<AmmoCount,int> Dictionary { get; set; } = new();
}

NetList / NetDictionary do not support the [Property] attribute, and the [Change]callback won't fire on element-level mutations — only when the collection itself is reassigned.

Detecting Changes

public class MyComponent : Component
{
  [Sync, Change( "OnIsRunningChanged" )]
  public bool IsRunning { get; set; }

  private void OnIsRunningChanged( bool oldValue, bool newValue )
  {
    // The value of IsRunning has changed...
  }
}

s&box Sync Properties Generator — FAQ

Is this s&box Sync Properties Generator free to use?

Yes, the s&box Sync Properties Generator is 100% free — no signup required, no hidden fees, no downloads. Everything runs in your browser.

How accurate is the s&box Sync Properties Generator?

Values are pulled from the s&box game files and community-verified formulas. Results match what you see in-game, and we update the tool when the game gets major patches.

Can I host a s&box server with XGamingServer?

Yes. XGamingServer offers instant s&box server hosting with mod support, automatic backups, DDoS protection, and 24/7 support. All popular game settings are pre-configured.

Does the Sync Properties Generator work on mobile?

Yes, the Sync Properties Generator is fully responsive and works on desktop, tablet, and mobile browsers.

You might also need

Built-In Tool

Config Tool Built Into XGamingServer

Get managed s&box hosting with this tool in your panel — configure, deploy, and play in minutes. No file uploads needed.

Built-In Config ToolInstant Server SetupDDoS ProtectionExpert 24/7 Support
Get 40% OFFNo setup fees · Cancel anytime