My workaround is to add a preprocessing step. I have, essentially, this:
public message_c: string; public message: DialogueBox; // text, scroll speed, colors, etc.; doesn't show in scene editor awake() { if (!this.message && !!this.message_c) { this.message = new DialogueBox(this.message_c.replace('\\n', '\n')); } }
This way you can also define your own control codes. For instance, I have one for "make the dialogue box appear all at once rather than scrolling", and another for "split message into multiple dialogue boxes". You should find it pretty straightforward.