Редактирование текста сложно в Open GL. Это не то, с чего вы хотите начать. C # имеет текстовые поля и расширенные текстовые окна. Простейшим способом было бы создать Окно с TextField внутри него в C #. Когда пользователь нажал ~, сдвиньте окно внутрь и дайте ему фокус. Когда пользователь нажимает ввести любой текст в поле захваченного, поле очищается, и захваченный текст отправляется в игру для обработки.
Чтобы дать ощущение полной консоли, вы хотите заново напечатать введенный текст. Вы можете сделать это с другим, не редактируемым текстовым полем над первым. Просто вставьте недавно введенную строку в конец текста, уже введенного в это поле.
Я бы не рекомендовал начинать с этого. Получите что-то на экране, чтобы оно отвечало непосредственно на клавиатуру. Тогда беспокойтесь о том, как вы собираетесь вводить данные для отладки. Пока вы можете просто жестко кодировать команды отладки для случайных ключей, которые вы не используете для своей схемы управления.