What is the best way to implement 3D text?

That works perfectly fine! Another possible approach could be to pass custom UVs to each box face: Creating A Box | Babylon.js Documentation (babylonjs.com) so that only one face is mapped to the texture, but the plane works fine as well.

About different text styles, unfortunately that’s not possible as the text block is drawn as, well, a single block of text. You could get around it by having multiple text blocks, each one with its own style. There was a PR to introduce a StructuredTextBlock that would have this functionality, but it wasn’t completed, but you might want to take a look at the code to see how it’s done StructuredTextBlock (GUI 2D) by cronvel · Pull Request #11383 · BabylonJS/Babylon.js (github.com)

1 Like