Just meddling a bit.
I like the tags idea, and while we can't use [ maybe we could use some other character(s) that would be unlikely to show up in text, like ##C123456#B#U## could maybe work (doesn't need to be #, just something unlikely to show up in text labels?
player.Say("This is a ##C123456#B#U## test.");

I like the tags idea, and while we can't use [ maybe we could use some other character(s) that would be unlikely to show up in text, like ##C123456#B#U## could maybe work (doesn't need to be #, just something unlikely to show up in text labels?
player.Say("This is a ##C123456#B#U## test.");