Hello! Been messing around with remote config a bit, and it’s super useful, BUT, it’s also really quite annoying to use sometimes… It might be that I’m using it ‘wrong’, or that I’m missing something, but I just wanted to offer my thoughts / get some answers on a few things. Disclaimer : I don’t want this to feel like a rant, but rather opinions on using a feature in live production of a product and what it feels like from a user perspec
Having got everything up and running, and then decided that remote configs would be really useful, I then set about looking at how it handles no connection on first load of the app…In truth, I didn’t think about this earlier because, well, my own fault really, I thought the remote config system would handle it gracefully.
what happens when it can’t access remote config and there is no cache? Short answer, nothing. Longer answer ‘default values’. In theory, this works, in practice, it’s not really that useful in projects of any size larger than…well, a prototype.
All of my configs are JSON. Why? IMO, It’s easier to manage, and my settings can be grouped in to localisation, input, styles etc… Better to keep things organised. Also, each controller responsible for that setting can just grab the json setting it needs. Simple. So, when it comes to default values, I could just pass the json from a text file…but this is the thing that’s a bit annoying - Remote config only cares for a small part of your app; when conditions are perfect, when it’s not, I need something else… I know game dev is a hugely broad thing, and you as a team inside Unity can’t write code to make everyone happy, but offering a solution that only solves half the problem isn’t ideal. As a supplier of a solution, it’s nice to take the responsibility of updating settings remotely, but as a user, to be expected to then manage potentially hundreds of settings when it doesn’t work makes the whole feature’s promise seem disingenuous.
Using JSON in the remote config settings gives an option to use a JSON object, which the remote config will grab the text from, which is useful in theory, but in practice is annoying, because every time I change the json setting or close and open it up again, the object is cleared. Is it supposed to be a temporary reference to just grab some json? Why can’t I just use a text file at all times for that setting?1. that would be useful and a nice workflow. 2. I can version the settings through my VCS. And then, why can’t this be my default value - having remote config fall back to this would be super useful as it’s already referenced…? My bigger question I guess though is, why can’t I take a cache of the remote values during the build process? The editor is grabbing the values from somewhere…
It feels like all the pieces are there, but they just don’t talk to each other.Is this something that’s being worked on? Can we expect a better experience for managing default values? The current default value workflow, technically, does work, but in practice, used in anger, it’s a real pain.