Search Issue Tracker
Won't Fix
Won't Fix in 2023.2.X
Votes
1
Found in
2022.3.5f1
2023.1.4f1
2023.2.0a23
Issue ID
UUM-42707
Regression
Yes
GameObjects aren't initialized at the correct position when their Rigidbody Component's "Interpolate" setting is set to "Interpolate" or "Extrapolate"
How to reproduce:
1. Open the attached “RigidBodyBug“ project
2. Open the “MainScene“ Scene
3. Enter Play Mode
4. Observe the positions of the “Octopus(Clone)“ GameObjects
Expected result: The “Octopus(Clone)“ GameObjects have different positions
Actual result: All of the “Octopus(Clone)“ GameObejcts appear at -10, 0, -10 position
Reproducible with: 2022.1.0a6, 2022.3.5f1, 2023.1.4f1, 2023.2.0a23
Not reproducible with: 2021.3.28f1, 2022.1.0a5
Reproduced on: macOS 13.4.1 (Intel, M1)
Notes:
- Couldn't test if reproducible in Player because the screen is grey in Player
- Issue doesn’t reproduce if the “Interpolate” setting is changed to “None“ on the RigidBody Component of the “Octopus(Clone)“ GameObejct
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Required SpriteMask class (ID 331) is stripped when "Strip Engine Code" is enabled
- “Maximized serialized file backup not found” error is thrown when minimizing a window in a newly opened project
- Build stack trace contains invalid lines when building with IL2CPP using scripts with delegates containing generic types in the signature
- Entities Systems window has a “Show Full Player Loop” dropdown which does nothing when clicked after enabling “Show Full Player Loop”
- Entities Hierarchy Search “Show/Hide” button’s Lens Icon is blurry when the Editor is on an external monitor
Resolution Note:
Before 2022.1, it used to be that we would actually sync transforms every update in case any interpolated bodies were present in a scene. It was never the design choice, but more of a necessity, a limitation of the transform dispatch tech ~2017. It had (mostly unintended) side effect that any changes to transforms would actually get applied every Update, instead of being postponed to FixedUpdate.
I posted on the reasons why we thought appropriate to change this behaviour over here: https://blog.unity.com/engine-platform/expanding-the-robotics-toolbox-physics-changes-in-unity-20221. TLDR: performance.
Now, if you'd like to match the old behaviour for a legacy project, I'd propose calling Physics.SyncTransforms manually -- that will write poses to the physics engine as it used to do.
Resolution Note (2023.2.X):
Before 2022.1, it used to be that we would actually sync transforms every update in case any interpolated bodies were present in a scene. It was never the design choice, but more of a necessity, a limitation of the transform dispatch tech ~2017. It had (mostly unintended) side effect that any changes to transforms would actually get applied every Update, instead of being postponed to FixedUpdate.
I posted on the reasons why we thought appropriate to change this behaviour over here: https://blog.unity.com/engine-platform/expanding-the-robotics-toolbox-physics-changes-in-unity-20221. TLDR: performance.
Now, if you'd like to match the old behaviour for a legacy project, I'd propose calling Physics.SyncTransforms manually -- that will write poses to the physics engine as it used to do.