Search Issue Tracker
Won't Fix
Won't Fix in 2023.1.X
Votes
0
Found in
2020.3.35f1
2021.3.5f1
2022.1.6f1
2022.2.0a17
2023.1.0a2
Issue ID
UUM-768
Regression
No
Assigning transform.position can be inaccurate when the transform's parent is rotated
How to reproduce:
1. Open the attached Project "PositionDebug.zip" and load Scene "PositionDebug"
2. Enter Play Mode
3. Observe the Game View
Expected results: The Cube in the Scene is stationary
Actual results: The Cube is moving
Reproducible with: 2019.4.39f1 2020.3.35f1, 2021.3.3f1, 2022.1.2f1, 2022.2.0a15
Note:
- Issue is dependent on the values of transform.rotation of the parent GameObject and the transform.position of the child GameObject that gets the transform assignment. Not all value combinations will reproduce the issue
- It appears like some value combinations provide more movement than others
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
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
Resolution Note:
Due to floating point imprecision there can be a small difference between the global position returned from GetPosition() than that which was set with SetPosition().
The difference depends on the object's specific transform hierarchy and depth.
It is therefore expected that an object might move very slightly when running the script code: "transform.position = transform.position;"
Resolution Note (2023.1.X):
Due to floating point imprecision there can be a small difference between the global position returned from GetPosition() than that which was set with SetPosition().
The difference depends on the object's specific transform hierarchy and depth.
It is therefore expected that an object might move very slightly when running the script code: "transform.position = transform.position;"