Is it posible to implement ServerRewind with NetworkTransform?

Open
#2,890 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
csharp, unity

Research direction

Start with the NetworkTransform documentation and the ServerRewind roadmap entry, then compare their authority behavior with the two-NetworkVariable example in the linked repository. Determine whether runtime authority changes and rewind support are intended, and document the supported approach or the scope of the required NetworkTransform changes.

Written by the indexing model from the issue text.

Description

type:support

Hello, im currently studying Unity and I started not so long ago using Netcode for GameObjects.

I started following the Unity docs and everything went smoothly until I faced NetworkTransforms, I tried movement with server autority and client autority, witch both worked fine, however I was unable to make a ServerRewind movement method.

I tried having multiple NetworkTransforms with changed autorities (with OnIsServerAuthoritative true and false) and changing them in runtime, needless to say, this didn't work nor changing the OnIsServerAuthoritative method via variable as the method seems to only been called once.

I searched for ways to implement ServerRewind in Netcode for GameObjects but I found zero information about it.

Eventually I managed to do it using 2 NetworkVariables, with write permisions both on server and client and exchanging them values whenever needed (I have an example in my repo if anyone is curious).

I know that ServerRewind is currently on the roadmap, but as it is currently, is there any way for implementing it with NetworkTransforms?

Dominant language
C#
Stars
2.3k
Forks
461
Avg merge
3d 16h
Merged PRs (30d)
20

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Unity-Technologies/com.unity.netcode.gameobjects

All issues in Unity-Technologies/com.unity.netcode.gameobjects

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.