Unity Version Control window show variable name instead string value

Hi.
I try to use Unity Version Control on my ubuntu pc, but I got some problem.
Problem is Unity Version Control window show variable name, not text value.

When I create new child branch, I see this popup window.

See button text. It is CreateButton. Not Create. And other text is shown variable name, not text.

This happens in the Version Control window, even in the Project Settings.

See More Images:
Imgur Image Link

What is problem, and how can I fix it?

Did you find a solution for this? I am having the same issue and this post is the only thing I came across

Not yet. I’ll post it here if I find it.

I have the same issue on my Kubuntu 24.04 LTS install. Using Unity v6 LTS editor, but this issue also appears on the 22.3.xx LTS edtior.

This is something to do with the Plastic Version Control module not finding the plastic-gui.xx.txt Localisation files.

I’m having the same problem, did you find a fix?
I’m currently on Linux (CachyOS).

Ok, I was able to find the root cause @ollieblanks and now I have it working on Manjaro Linux (and this fix likely applies to other distros too). This is how I fixed it

  1. Under Project tab, find the “Unity Version Control” package, right click and “Open Containing Folder”
  2. In that folder you should see a folder named something like com.unity.collab-proxy@<random>, cut that folder (copy + delete)
  3. Go to the root of your project folder and paste that folder under Packages
  4. Rename the folder to get rid of the @<random> so it’s just com.unity.collab-proxy
  5. Your project folder should now have Packages/com.unity.collab-proxy. Go to terminal and run the following commands
cd <project folder>
cd Packages/com.unity.collab-proxy/Lib/Editor
mv Localization localization
mv Localization.meta localization.meta

Finally, restart unity. You should now see normal UI text strings.

The issue seems to be that the UI calls PlasticLocalization.GetString(...) everywhere, which GetString inside unityplastic.dll, which will fallback to the raw enum if it can’t load the localization folder. This is normally fine, however it loads the wrong folder on Linux

// LocalizationDirectory.Get()
return Path.Combine(ApplicationLocation.GetAppPath(), "localization");

Notice how the code expects localization (lowercase) instead of Localization, however the package comes bundled with Localization. This normally isn’t an issue on most OSs, because their filesystem is case insensitive. On filesystems that are case sensitive, this load will fail. This is why doing the commands above fix the issue.

Thank you for sharing the resolution!

I will share this information with the development team so we can get this put into the package.