Hi,
I would like the users of my android app to be able to change the game user settings.
Changing settings works fine in the editor and on a packaged build for windows. But on android I’m only able to change and save the resolution scale and the FPS limit. Things like Anti-aliasing, Shadow quality, Texture quality, Effect quality and so on, wont be saved nor read from the gameusersettings.ini.
Example:
If shadow quality is set to ‘1’, and I change it to ‘2’ using the blueprint nodes for game user settings, it is changed but not saved to gameusersettings.ini. And after a restart of the game shadow quality would be back to ‘1’ agian.
And if I set shadow quality to ‘2’ inside the gameusersettings.ini, the game will still read it as ‘1’ when I use the get shadow quality from the ‘get game user settings’ node.
(Resolution scale and the FPS limit is read and saved as it should, using the same gameusersettings.ini file)
This is also tested in a new project I made. It is the third person template and is set to mobile/tablet and scalable 3D or 2D. All I added was this widget:
This is the log whenever i try so apply the settings:
LogConsoleManager: Setting the console variable 'sg.ViewDistanceQuality' with 'SetByScalability' was ignored as it is lower priority than the previous 'SetByDeviceProfile'. Value remains '1'
LogConsoleManager: Setting the console variable 'sg.AntiAliasingQuality' with 'SetByScalability' was ignored as it is lower priority than the previous 'SetByDeviceProfile'. Value remains '1'
LogConsoleManager: Setting the console variable 'sg.ShadowQuality' with 'SetByScalability' was ignored as it is lower priority than the previous 'SetByDeviceProfile'. Value remains '1'
LogConsoleManager: Setting the console variable 'sg.PostProcessQuality' with 'SetByScalability' was ignored as it is lower priority than the previous 'SetByDeviceProfile'. Value remains '1'
LogConsoleManager: Setting the console variable 'sg.TextureQuality' with 'SetByScalability' was ignored as it is lower priority than the previous 'SetByDeviceProfile'. Value remains '1'
LogConsoleManager: Setting the console variable 'sg.EffectsQuality' with 'SetByScalability' was ignored as it is lower priority than the previous 'SetByDeviceProfile'. Value remains '1'
LogConsoleManager: Setting the console variable 'sg.FoliageQuality' with 'SetByScalability' was ignored as it is lower priority than the previous 'SetByDeviceProfile'. Value remains '1'
LogConfig: Applying CVar settings from Section [ShadingQuality@3] File [../../../RocketRide/Saved/Config/Android/Scalability.ini]
LogConfig: Setting CVar [[r.HairStrands.SkyLighting.SampleCount:16]]
LogConfig: Setting CVar [[r.HairStrands.SkyLighting.JitterIntegration:0]]
LogConfig: Setting CVar [[r.HairStrands.SkyAO.SampleCount:16]]
LogConfig: Setting CVar [[r.HairStrands.DeepShadow.SuperSampling:0]]
LogConfig: Setting CVar [[r.HairStrands.VisibilityPPLL:0]]
LogConfig: Setting CVar [[r.HairStrands.RasterizationScale:0.5]]
LogConfig: Setting CVar [[r.HairStrands.VelocityRasterizationScale:1]]
LogAudio: Warning: Can't increase MaxChannels past MaxSources
From the above I would imagine that the settings are overwritten by the device profile or something ?
But on " [Customizing Device Profiles and Scalability for Android][2] " it states that: “The initial scalability settings selected by a device profile are simply the defaults, and scalability can easily be changed at runtime through a variety of methods.”
How do I get game user settings this to work on android ? What am I missing ?
Thanks in advance