Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Sharing ownership between two players

Offen
#2,558 3 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

Maintainer antworten meist innerhalb von 2 Tagen

@NoelStephensUnity arbeitet bereits daran.

Seit 10.5.2023.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Beschreibung

stat:Investigating Tracking type:feature

This is a follow up question after #2512, where @NoelStephensUnity helped me a lot with making a solid and smooth movement of an object by a player.

But since multiplayer games are about cooperation, carrying stuff together is one of the essentials features in our game.
I'd like to make it that when one player tries to carry a large thing, it struggles, whereas two can do it easier.

The problem is, they both should be able to move the object they are carrying. And they are client-side authoritative.
So I can't just change the ownership of the object, because another player is going to have a delay.

The only idea I have is to let them simulate locally object's state, ignoring the correct one from the server. And once they drop the object, it switched back to updates from the server. I think this should work, at least, I can't tell why not.

But I think I don't understand the solution @NoelStephensUnity provided me with to 100%. I see that it disables server updates and lets client simulate rigidbody, but it also handles the jitter problem by making sure that the authority is completely switched, and I just don't understand how I can make it more generic, so I could just toggle it when I need it.

Do you think it's going to work or I am completely wrong about the approach? Maybe it can be achieved easily?
If so, could you please you elaborate on your solution? As I said, I'd like to make it generic.

Thanks a lot!

Vorherrschende Sprache
C#
Sterne
2.3k
Forks
464
Ø Merge
4 T. 4 Std.
Gemergte PRs (30 T.)
18

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus Unity-Technologies/com.unity.netcode.gameobjects

Alle Issues in Unity-Technologies/com.unity.netcode.gameobjects

Ähnliche Issues

Weitere Issues zu C#

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.