Do we need to call LocalizationSettings.InitializationOperation every time?

Based on the documentation, we need to yield on
LocalizationSettings.InitializationOperation because “The localization system may not be immediately ready. Loading Locales, preloading assets etc.”

Do we have to do this every time we need to access LocalizationSettings’ property?

For example,
I have something like this:
AsyncOperationHandle handle = LocalizationSettings.InitializationOperation;
await handle.Task;
LocalizationSettings localizationSettings = handle.Result;

Later in another method, I need to access
LocalizationSettings.SelectedLocale.
Do I still need:
AsyncOperationHandle handle = LocalizationSettings.InitializationOperation;
await handle.Task;

Hi,
In 0.6.1 its safest to do this. In the next release 0.7.0, this will be done for you in all the Async operations and we also have a SelectedLocaleAsync property.
Should be released this week, just waiting for QA and updated docs.

Looking forward to the new release!
Even with the SelectedLocaleAsync property, we probably need to write some async code to handle that. I guess what I am looking for is a way to InitializationOperation once and then make all LocalizationSettings’ property available for all future synchronous call.
Wondering whether this is / will be supported.

This is how it works now. You call it once and then you won’t need to check it again.
If you are using preloading then you would use it when the locale changes to wait for the preloading.
After the first initialization then locales should always be synchronous

Thanks for your explanation.