Firstly, thanks so much for this package, It has been a really good time for us.
We are currently using google sheets in a pull only configuration, where keys are added to sheets first, then pulled into the project. This seems to work best/is safest for us with multiple people working on UI at once, as we can treat it as the single source of truth, opposed to multiple people pushing and pulling. This configuration is also ideal for us for VO and other externally authored strings.
We are currently having an issue where when multiple people are pulling at the same time, they generate different internal IDs for strings, which obviously causes heaps of issues when things are merged, after UI is authored with the generated IDs. We are using LocalizeStringEvent to localize UI, which stores strings as IDs, rather than keys.
Is there a recommended way to work like this? I would assume/hope the key we enter in sheets would be the…key, but the existence of an additional ID generated at import time is strange for us. Is there a way to just use the key as the key, and not use IDs at all?
Hi,
You can just use the key however I would not recommend it as changing the key name will cause references to be lost in scenes, that’s why we have ids. You would also need to set the reference by script as our property drawers use the Id.
I would suggest manually setting the Id value yourself as you add each entry. This can be done by right clicking the cell and choosing add a note (not a comment).
The id can be anything as long as it’s unique, so you can just do 1,2,3 etc.
I would definitely expect references to be lost if a key is changed, what is more unexpected for us is two peoples projects generating incompatible localization universes from a single string table with explicitly defined keys.
I have found a workable solution by automatically pushing up they key column only(with ID note) immediately after we pull from sheets. This way freshly generated IDs are immediately set on sheets by whoever is first to pull them.