Are you using the Source version of UFE?
I'm not able to reproduce your issue sadly. But the issue is that it's calling to say "Hover the cursor on the last character" but is somehow reporting that the last character is outside the current number of characters. I.E., if you add one character to the global list, then the total number of characters is 5. If you wanted to hover the last character you'd say selectableCharacters[4], and it's for some reason telling it to hover over the character at selectableCharacter[5], which doesn't exist, and throws an error.
I can't verify your code is correct or not sadly, but it says where it's hitting this error:
CharacterSelectionScreen.cs Line 209 which should say:
this.SetHoverIndex(2, this.selectableCharacters.Length - 1);
I have a feeling that the - 1 was removed somehow.