Why can't other players see you slide?

Changing a value on your machine doesn't send it anywhere.

Why can't other players see you slide?

The problem

Only you know.

public bool IsSliding { get; set; } protected override void OnUpdate(){    if ( IsProxy ) return;    IsSliding = Input.Down( "duck" );}

IsSliding becomes true on your machine. Everyone else's copy of you still says false.

The fix

Let the network carry it.

Mark a property with [Sync] and s&box sends the owner's value to every other player.

owner sets it→[Sync]→everyone sees it

The fix in code

One attribute.

[Sync] public bool IsSliding { get; set; } protected override void OnUpdate(){    // everyone plays the animation from the synced value    PlaySlideAnimation( IsSliding );     if ( IsProxy ) return;    IsSliding = Input.Down( "duck" );}

The owner writes it. Everyone, including proxies, reads it to play the animation.

Watch out

Only the owner should write it.

Sync flows from the owner outward. A proxy setting the value won't spread it.

Owner
writes [Sync] values
Proxies
read only
Write behind
if ( IsProxy ) return;

The rule

Others need to see it? [Sync] it.

Share a value
[Sync]
Who writes
the owner
Who reads
everyone