Bug1:
Could you elaborate? Which Unity version you use. The bug 1 shouldn’t be happening, maybe you’re submitting your app as new game?
Go to C:\Users<user>\AppData\Local\Packages and check the guid for your original app and updated, it should match.
If it’s the same, could you also attach UnityPlayer.log when you launch updated app.
Addtional info playerprefs are stored in C:\Users<user>\AppData\Local\Packages in C:\Users<user>\AppData\Local\Packages<package>\LocalState\playerprefs.dat, you could save this file somewhere and copy it when updated app is installed, see if it’s able to read playerprefs then.
Bug2: Need more information, are you able to reproduce this yourself, which Unity version.
Unity 5.4.2f2
I am submitting new version for update (not new game)
guid is same.
I found that It does not depend of updates. PlayerPrefs.GetString always return empty string after i restart game.
PlayerPrefs.Save() not solve my problem.
Log from first start updated app (i am not found error or warnings):
Module information: Built with Compiler Ver ‘190023026’ Built from ‘5.4/release’ branch Version is ‘5.4.2f2 (b7e030c65c9b)’ Release build Application type ‘D3D11’ Used ‘UWP’ GfxDevice: creating device client; threaded=1 Direct3D: Version: Direct3D 11.0 [level 11.0] Renderer: AMD Radeon HD 6670 (ID=0x6758) Vendor: ATI VRAM: 1008 MB Initialize engine version: 5.4.2f2 (b7e030c65c9b) Disabling independent input source. Logical Screen DPI is 96,00. UnloadTime: 96,836639 ms
— next only my log messages
Not sure if this is related to your Bug 2 , but when using Application.systemLanguage in Windows value comes from Region → Formats instead of your language settings.