[Localization 1.5.2] Localize String Event component not using Driven Properties

Hello,

I’m using the Localize String Event component to drive the text property on a TextMeshPro component like so:

When I set the active locale in the Localization Scene Controls window, the change is applied without Driven Properties:

This means the update is marked as a change to the scene.

All these inspectors should be rendered with IMGUI, and as far as I’m aware there’s nothing unusual about this scene which should prevent it from being localized properly, however other scenes in the project don’t have this issue.

What could be causing this?

Thanks!

Alex

Possibly related - my project now no longer updates terms at edit time at all. Furthermore, changes to the localized terms also display at runtime until I clear the addressables cache and rebuild the addressables group. I haven’t made any changes to the addressables configuration (it’s all version controlled).

I’ve already gone ahead and deleted the Library folder as a test. No luck there.

Any assistance would be greatly appreciated.

Im not sure I understand. Its not saving the changes you make? Is this in the table editor or the localized string property drawer?

Can you share the project and some steps to reproduce the issues?

Hey Karl,

Yes, that’s right. If I make changes to the translations via the table editor or the localized string property drawer, the changes do not find their way to the result of the Update String event on the Localize String Event component either at edit or runtime.

I can share the project with you when I’m at the studio tomorrow. Is BlindFTP the best way to provide the project?

Thanks!

Yeah it that should be fine.
Are you updating the addressaables after you make a change? If you are using the Use Build playmode then the addressables need to be rebuilt.

What’s the way to verify that I’m using the Use Build playmode? Before things started going haywire the changes via the tables or property drawer would be reflected in edit mode and playmode immediately, and I don’t believe I’ve made any changes to the addressables config. I’m having to update the addressables after I make a change now, but it’s undesirable given how easy it was beforehand.

Thanks!

https://docs.unity3d.com/Packages/com.unity.addressables@1.19/manual/Groups.html#play-mode-scripts

1 Like

It appears as though I’m using the ‘Use Asset Database’ play mode script, which as I understand should mean that I don’t need to rebuild the addressables to see changes reflected in playmode.

However, while changes (eg. an update to a phrase) via the table editor or property drawer are now immediately reflected in edit mode, they are still not visible in play mode until the addressables are rebuilt.

I’ll try to get a build uploaded via blind ftp today. Thanks!

1 Like

Hi @karl_jones, I’ve just uploaded our project via Unity Blind FTP with filename 2024-11-01 2pt.zip.

I’m encountering the following issues:

  • LocalizeStringEvent components do not display updates to phrases at edit mode at all
  • LocalizeStringEvent components only display updates to phrases at runtime when the addressable groups are rebuilt

You can repro all these issues by opening the project I have uploaded, and opening the scene ‘Assets/Project/Scenes/Menu.unity’.

I confirm I am using ‘Use Asset Database’ as the play mode script. I am also using Unity 2022.3.51f1 LTS.

All the features were working as expected in the past, so I’d really appreciate your insight into what’s causing these issues.

Many thanks,

Alex

Thanks.
Unfortunately, I’m currently without internet. I just moved house last week, and I’m still waiting for my internet provider to connect me. They said around the 19th. So I won’t be able to take a look until then, my phone’s internet is not good enough to download such a large file :frowning_face:
As soon as I’m connected ill take a look.

Hey Karl, no worries at all. I’ve just moved house too and I know the immensity of the struggle in getting everything setup, so take the time you need! Thanks so much for your attention on the issue though, keen to hear what you find.

All the best with the move!

1 Like

Hi,
I have taken a look at the project but nothing stands out. Everything seems to be working.
Can you provide some steps to reproduce the issues?

I can see the driven properties are working:

Changes are being applied at edit time:

I wasnt able to test runtime, the project has a lot of null reference exceptions when I run.

Hey Karl,

Really appreciate you checking out the project. That’s so strange that you’re able to see everything working just fine. I’ll have another look tomorrow to see if there’s any system specific reason that it wouldn’t be working for me and report back.

In the meantime, do you mind removing the gif from your previous post? We’re trying to keep this project pretty under wraps. Sorry!

Many thanks,

Alex

1 Like

Ah yes apologies! I have removed it.

Hey Karl,

Sorry, it’s taken me forever to get back around to this. Massive couple of weeks!

After blowing the Library folder away again, it does seem like things are working ok on my end again. I can however confirm that the driven properties don’t display properly for TextMeshPro (non UI) components:

As you can see, the inspector text box uses its default appearance instead of using the driven properties ‘green’ mode. The changes to localized strings here also dirty the text mesh pro component and the changes persist to the serialized data in the scene file. Not a critical issue, but not totally ideal.

In any case, things do seem to be behaving for now. I would swear that I was having other troubles though so if they arise again please pardon me for raising the issue again!

Thanks Karl,

Alex

Thats strange. I know that the green highlighting is not working for UI Toolkit inspectors, it will still handle the driven properties but wont be green. However I dont belive TMP uses UI Toolkit so this could be a bug. Could you please file a bug report so we can take a look into it? Unity QA: Building quality with passion

So, many months later we’ve discovered that the localisation package wasn’t working using the Asset Database method because of this one line that was running early in application startup:

PlayerPrefs.DeleteAll()

This meant that we weren’t able to preview localisation changes without doing an addressables group rebuild every change.

It’s possible too that this was causing the issues with the driven properties not driving the compnents properly too.

Super happy to finally have this resolved!

1 Like