Hello everyone. Since I only ask and seldom answer on this board, I decided to "give something back". This is the script in the Unity-Networking Example for synchronizing Rigidbodies over the Network, except it uses a variant of the Insertion-Sort to make sure the states are all in order. When the states were not in order I sometimes got strange behaviour of the rigidbodies, where they would dis- and reappear constantly. After using this version I havn't observed anything similar yet. It is also not more costly in performance than the older version, since the timestamps were compared at the end to check for inconsistencies anyway. It is not much, but its something. Here is the inserting function: Code (csharp): //This Function inserts the new State in the proper slot. //This is the Insertion-Sort private void NewState( State newState ) { //If no States are present, put in first slot. if( m_TimestampCount == 0 ) { m_BufferedState[0] = newState; } else { //First find proper place in buffer. If no place is found, state can be dropped (newState is too old) for( int i = 0; i < m_TimestampCount; i ++ ) { //If the state in slot i is older than our new state, we found our slot. if( m_BufferedState[i].timestamp < newState.timestamp ) { // Shift the buffer sideways, to make room in slot i. possibly deleting state 20 for (int k=m_BufferedState.Length-1;k>i;k--) { m_BufferedState[k] = m_BufferedState[k-1]; } //insert state m_BufferedState[i] = newState; //We are done, exit loop break; } } } //Update TimestampCount m_TimestampCount = Mathf.Min(m_TimestampCount + 1, m_BufferedState.Length); }