Search Issue Tracker
By Design
By Design in 2.1.X
Votes
2
Found in [Package]
1.21.20
2.1.0
Issue ID
ADDR-3664
Regression
Yes
Initialize Synchronously locks the player
Steps to reproduce:
1. Open attached project
2. Create a windows player build.
3. Start the build. The game will not start.
4. Go into the editor and disable Localization Settings / Initialize Synchronously.
5. Create another build. Notice this one starts up.
Note: Initialize Synchronously just calls WaitForCompletion on the LocalizationInitialization operation.
Reproducible with versions: 1.5.0-pre.6
Not reproducible with versions: 1.5.0-pre.5
Can’t test with versions:
Tested on (OS): Windows
Notes:
Comments (1)
-
Peter77
May 20, 2024 07:56
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
- Editor freezes indefinitely when copy pasting a lot of characters in the UI Builder’s “Add new selector” field
- Detached Audio Source is not released from browser memory when Audio stops playing in WebGL Player
- "Canvas.pixelRect" and "Canvas.renderingDisplaySize" report 640x480 when Device Simulator window is unfocused after reopening the project in the Editor
- Incorrect indices when using Graphics.RenderPrimitivesIndexedArgs[] with Graphics.RenderPrimitivesIndexedIndirect
- Errors are thrown when using Multiplayer Play Mode 2.0.0-pre.1 or higher
Resolution Note:
When we start loading a file we take a lock in the PersistentManager to ensure the same file or its dependencies don't get loaded multiple times and create duplicate objects.
This impose some limitation on the synchronous asset loading: we can't synchronously load an asset in a callback triggered by loading of another asset.
In this case we load the managers config file which creates LocalizationManager on the main thread and them the LocalizationManager tries to load an asset bundle synchronously from the OnEnable.
Resolution Note (2.1.X):
When we start loading a file we take a lock in the PersistentManager to ensure the same file or its dependencies don't get loaded multiple times and create duplicate objects.
This impose some limitation on the synchronous asset loading: we can't synchronously load an asset in a callback triggered by loading of another asset.
In this case we load the managers config file which creates LocalizationManager on the main thread and them the LocalizationManager tries to load an asset bundle synchronously from the OnEnable.