You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/learn/bitesize/bitesize-clientdriven.md
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -17,40 +17,40 @@ Making movements feel responsive while staying consistent over multiple game exe
17
17
## Sample:
18
18
19
19
ClientDriven's aim is to create a quick sample to show responsive character movements that don't feel sluggish, even under bad network conditions.
20
-
It uses the ClientNetworkTransform sample and moves your own player's position client side, [client authoritatively](../dealing-with-latency.md#allow-low-impact-client-authority).
20
+
It uses the ClientNetworkTransform sample and moves your own player's position client side, [client authoritatively](../dealing-with-latency.md#allow-low-impact-client-authority). Movement is leveraged through the use of Unity's Starter Assets, the [Third Person Character Controller](https://assetstore.unity.com/packages/essentials/starter-assets-third-person-character-controller-196526).
### Client side object detection for pickup with server side pickup validation
27
27
Ingredients in ClientDriven are owned by the server, since they are [shared objects](../dealing-with-latency.md#issue-world-consistency). This means if a player tries to grab an object while that object is moving, a server side range detection would sometimes fail, even though it should have succeeded (since ingredients are replicated with some lag, so the player would try to grab ingredients that are a few milliseconds behind).
28
28
To make sure this doesn't happen, the object detection done to grab an ingredient is also done client side.
Notice how we're checking whether that object can be picked up or not (since another player could have picked it up at the same time, creating a conflict).
If the object is already picked up, we're not doing anything. You client side animations should take this into account and cancel any animations "carrying" something.
45
+
If the object is already picked up, we're not doing anything. Your client side animations should take this into account and cancel any animations "carrying" something.
46
46
47
47
### Server side player spawn points
48
48
In this sample, our spawn points list is server side (to have a single source of truth).
49
49
ClientNetworkTransforms can be updated by owners only, which means the server can't update the player's position directly.
50
50
This means OnNetworkSpawn, the server will need to assign a position to the player using a ClientRPC.
0 commit comments