WaitForFixedUpdate does not work as described
This line from documentation is wrong:
// replacement of yield return new WaitForFixedUpdate(same as UniTask.Yield(PlayerLoopTiming.FixedUpdate))
await UniTask.WaitForFixedUpdate();
Coroutine WaitForFixedUpdate is called the same frame after physics update and when used in OnTirggerXYZ family callbacks it will correctly be called the same frame after callbacks. Unitask behaviour is different - it will be called next frame and probably at the beggining of FixedUpdate. To get the same behaviour I needed to use UniTask.Yield(PlayerLoopTiming.LastFixedUpdate);
Thank you very much. After verification, I may change the implementation of WaitForFixedUpdate (since the same behavior is desirable).
Please. I just came across a similar issue where a bug was introduced because I expected the behaviour to be the same.
released at 2.3.2.