I used this and it works just fine for me.
local label = game:GetService("Players").LocalPlayer.PlayerGui:WaitForChild("ScreenGui").Frame.TextLabel
label.MaxVisibleGraphemes = 0
local text = "testttt <font color=\"#FFA500\">color change</font>. testt"
local length = string.len(text)
for i = 1,length,1 do
label.Text = text
label.MaxVisibleGraphemes = i
task.wait(.02)
end
Edit: Added video