Line 8: TextCounter initial value is undefined.
Assuming you initialize TextCounter to 0, Your loop is going to execute one too many times. You termination condition should be TextCounter < TextSize.
Line 11: You can't store a multi-character string into a single character.
You can store any single character of the string simply by indexing it.
UserChar = UserText[TextCounter];
Not clear from the snippet you posted what that accomplishes.