So I have just figured out that, if I run the game in the viewport instead of in a standalone window, it does save the .ini file properly. The reason I hadn’t discovered this before is that, to actually see changes to settings like fullscreen mode, you need to run the game in a standalone window so that’s what I’d been doing while testing the menu. I don’t know if this is standard behaviour or a bug. I’ll need to test if it actually works in a packaged build but if it does, I’ll check this answer as accepted.