When doing text you want to use godot's visible_characters property for labels, since putting char per char will make the words jump around because of godots auto wrap, though I could be wrong lol.
Try to make a fastforward for dialogue also, some people read faster than what you planned and it can make the dialogue more of a loading screen for gameplay.
Hope that helps :)