title: Problem with rich text and how it updates on the screen in unity
body: <p>For my game, I wish to have a dialogue system where some words in the dialogue are colored differently. Right now, I have my normal white text being typed to the screen using the .ToCharArray command. This allows me to type one letter at a time to my screen. I've also looked and found something called Rich Text and Markup, which allows me to color my text with different colors while leaving the rest white. The issue is, the sentence is being typed and then updated in the ui to show the color, so for a brief second,  are shown until the text changes green. Is there any way to make it so the text is typed with the color in effect? is there an asset that lets me change colors of certain words in unity? Any help would be appreciated!</p>
  
  <p>Inside the DataBlock Scriptable object, ive typed the sentance i want into the text area. I then put  and  around the word I wanted to change. This caused the TypeSentance Coroutine to type out the sentance pulled from the scriptable object. This also made it so the TypeSentance Coroutine to print out the  and  around the text before updating a second later.</p>
  
  <h3>First Script</h3>
  
  <pre><code>public class DataBlock : ScriptableObject
  {
      [Tooltip("Please Put Body Text In Here")]
      [SerializeField] [TextArea(3, 10)] string bodyText;
  
      public string getBodyText()
      {
          return bodyText;
      }
  }
  </code></pre>
  
  <h3>Second Script</h3>
  
  <pre><code>public class GameCode : MonoBehaviour
  {
  [SerializeField] DataBlock[] DataBlocks;
  int currentDataBlock = 0;
  
  private void update()
  {
     updateGraphic()
  }
  
  public void updateGraphic()
      {
          StopAllCoroutines();
          StartCoroutine(TypeSentance(DataBlocks
  [currentDataBlock].getBodyText()));
  
          currentDataBlock++
  
  }
  
  IEnumerator TypeSentance(string sentance)
      {
          bodyTextBox.text = "";
          foreach (char letter in sentance.ToCharArray())
          {
              bodyTextBox.text += letter;
              yield return new WaitForSeconds(0.001f);
          }
      }
  }
  </code></pre>
  
  <p>I expected the result to be that the text is outputted in the color of my choice, but instead it was printed with the  and  and then updated to show the color</p>