# General update frequency vs per-entity update frequency

**URL:** <https://community.coherence.io/t/general-update-frequency-vs-per-entity-update-frequency/532>\
**Category:** Help\
**Created:** [May 29, 2024, 4:01am UTC](https://community.coherence.io/t/general-update-frequency-vs-per-entity-update-frequency/532 "2024-05-29T04:01:20Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![periwink](https://avatars.discourse-cdn.com/v4/letter/p/59ef9b/32.png) [@periwink](https://community.coherence.io/u/periwink)\
**Post date:** [May 29, 2024, 4:01am UTC](https://community.coherence.io/t/general-update-frequency-vs-per-entity-update-frequency/532/1 "2024-05-29T04:01:20Z")

</div>

Hi,  
I read this page about update-frequency: [Simulation Frequency | SDK 1.2 | Unity Multiplayer SDK Documentation | coherence](https://docs.coherence.io/coherence-sdk-for-unity/optimization/simulation-frequency)  
And I’m wondering how it works.

- If the server sends updates every 20ms and an entity is updated every 10ms. Then the entity will only get updated every 20ms right? There’s no way to be faster than the server send-update rate.

- If the server sends updates every 20ms and an entity is updated every 30ms; how does it work? Does the entity have an internal timer that starts everytime the server sends packets, so in practice the entity will get replicated every 40ms? i.e. is an entity’s actual update-rate always a multiple of the general server-wide update-rate?

---

<div class="post-metadata">

**Author:** ![Filip](https://dub1.discourse-cdn.com/flex017/user_avatar/community.coherence.io/filip/32/142_2.png) [@Filip](https://community.coherence.io/u/Filip)\
**Post date:** [June 6, 2024, 7:36am UTC](https://community.coherence.io/t/general-update-frequency-vs-per-entity-update-frequency/532/2 "2024-06-06T07:36:05Z")

</div>

Hey @periwink!

> If the server sends updates every 20ms and an entity is updated every 10ms. Then the entity will only get updated every 20ms right?

Right! The sender maintains a buffer that aggregates all changes. Those are flushed to the network at send frequency. In other words, if our 10ms interval entity sets position to `(10, 10, 10)` in the first update, and then to `(20, 20, 20)` in the next one, it is only the last value that will be sent, i.e. `(20, 20, 20)`.

> If the server sends updates every 20ms and an entity is updated every 30ms; how does it work?

Every binding has its own sampling clock, meaning that in case presented it would get sent 2 times in a span of 60ms:

| 10ms | 20ms | 30ms | 40ms | 50ms | 60ms |
| --- | --- | --- | --- | --- | --- |
| | | Sampled | | | Sampled |
| | NetFlush | | NetFlush | | NetFlush |

**Note:** I’m assuming that by “updated every 30ms” you mean that its sampling rate is set to 33Hz. Keep in mind that if the value of the binding doesn’t change then we’re not sending anything.

---

<div class="post-metadata">

**Author:** ![periwink](https://avatars.discourse-cdn.com/v4/letter/p/59ef9b/32.png) [@periwink](https://community.coherence.io/u/periwink)\
**Post date:** [June 8, 2024, 9:22pm UTC](https://community.coherence.io/t/general-update-frequency-vs-per-entity-update-frequency/532/3 "2024-06-08T21:22:49Z")

</div>

I see, thank you!

I notice that there is also a per-field sample rate even for a single binding.  
That means that it’s not guaranteed that the binding’s state on the receiver is the same as on the sender at a past tick?  
i.e. the position could get sampled and sent, but the rotation wasn’t?

---

<div class="post-metadata">

**Author:** ![Filip](https://dub1.discourse-cdn.com/flex017/user_avatar/community.coherence.io/filip/32/142_2.png) [@Filip](https://community.coherence.io/u/Filip)\
**Post date:** [June 10, 2024, 7:52am UTC](https://community.coherence.io/t/general-update-frequency-vs-per-entity-update-frequency/532/4 "2024-06-10T07:52:44Z")

</div>

Yes, that is correct.

This feature is the cornerstone of bandwidth optimization. In most games only few properties require frequent updates (usually position) while others can be synced as infrequently as once per second.

This let’s you sync far more entities than in the traditional snapshot approach.

---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex017/uploads/coherence/original/1X/b3aa79eb9519fac7aad7eba18f15a1e8ce60f6e2.png) [@system](https://community.coherence.io/u/system)\
**Post date:** [September 8, 2024, 7:53am UTC](https://community.coherence.io/t/general-update-frequency-vs-per-entity-update-frequency/532/5 "2024-09-08T07:53:10Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
