ContactUpdate parameter to indicate whether contacts have updated this frame
Dor․
The contact system is limited to 60 updates per second, in scenarios over 60 fps, the contacts will maintain information from a prior frame, for systems expecting an update every frame, this leads to incorrect assumptions, which can break logic in unexpected ways.
This can be prevented by adding a parameter to indicate whether contacts have updated this frame (i.e.
ContactUpdate
), this would allow us to short-circuit every contact-based transition to only evaluate when we know contacts have up-to-date values, avoiding these problems.An inverse of the parameter (i.e. ContactUpdateSkipped) can currently be implemented by using a Proximity contact and setting it's value to non-0 every frame, on frames that the contact receives an update, the value will be overridden back to 0, adding the parameter as a boolean in the controller means that contacts have updated when the parameter is
false
(can undo the inverse behavior by adding an overlapping sender, but that adds another runtime component).Log In