TextRenderComponent not displaying when added at runtime

There’s a bug when a UTextRenderComponent is added to an actor at runtime: The text is not visible.

Only when you hit F8 (while PIE) and edit a rotation value (e.g. roll) of the UTextRenderComponent, then the text becomes visible (and all other UTextRenderComponents added at runtime too!).

Here’s a project to reproduce the issue (StarterContent not included):
Demo Project to reproduce the issue

Hi -

I am looking at your test project but everything seems to be working as intended, can you give em step by step instructions on how to reproduce the issue using your test project.

Thank You

Eric Ketchum

Ok, when you start PIE, there should be two texts displayed:

  • One says ‘Built-in TextRenderActor works’

  • The other one says ‘‘Static’ TextRenderComponent works too’

If you see more than two lines, you apparently don’t have this bug. I work with 4.7.6.

Then, hit F8 and select CustomTextRenderActor1 in the World Outliner.
In the actor’s detail panel, select the DynamicTextRenderComponent (Inherited).
Then, under Transform → Rotation edit one of the values (e.g. roll from 0.0 to 1.0)
Two more lines of text should appear:

  • One says ‘Dynamically added TextRenderComponent does not work’

  • The other one is rotating around the X axis and says ‘Well, after rotating (manually) it works!’

Again, if you see 4 lines of text right from the beginning, the bug apparently is not present with your configuration. Let me know if you can reproduce it or if I need to give you additional information about the hardware/software I’m running on. Thanks!

I think I see the problem. Your test project does not include a UMAP file in the content folder, so the level that your project opens to is not available to me. Can you upload that umap file so I can add it to the project.

Thank You

Eric Ketchum

I’m sorry, I forgot that the map I used was saved in the starter content folder as well - didn’t include it in the zip.

Here’s another zip with just the map. You can just merge it with the existing project, the folders should be correct. The map is Minimal_Default.umap

Minimal_Default.umap

Hi Eric

Sorry for the confusion. I was commenting on this issue when I decided to do a small project to reproduce the error and open a new question in the Bug Reports section. The I forgot to put detailed instructions on how to reproduce the issue here - my bad! I hope you now find everything you need in the comments below.

Hi TaurusI76 -

So Thank you for the test project I can see there is an issue there and have entered a report, for reference UE-16528. There is a work around which will allow you to achieve what you are looking for. If you move the Dynamic and Dynamic2 ConstructObject Lines (those 2 lines only) into the Constructor and out of Begin Play, the objects will render correctly at Begin Play.

I will keep you informed as we work on a fix for this issue -

Eric Ketchum