One isssue I had for ages was the caret (cursor) on an input field trying to update itself despite being marked as inactive. This created a bizzilion warnings in the console which were just annoying at first... later I think there really was a big where that input field was getting input when it shouldn't have been.
Fixed that by marking the input field inactive
playerNameField.enabled = false;
In the process of trying to fix that one, or maybe updating to a new version of the unity editor, somehow all my UI buttons got set to have "automatic" navigation. This again meant they were stealing input and doing stuff when they shouldn't. Particularly when Enter or Space was pressed. Arrghhhhh.
Found the solution in a 6 year old support ticket...
One good thing that came out of all this was I did find the rollout in the editor that lets you set the rules for an input field, so I can set that to alphanumeric and then get rid of the code I'm currently using to sanitize file names.
Anyway like I said, I suspect I'm trying to do something weird and I should have sat down and spent a week learning the UI system instead of assuming I could just lash something together using common sense. Doh.