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
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
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;"