Bug: Node descriptions desappearing on BP functions


I have this very annoying bug: when I edit the description of some nodes in the Blueprint editor it is not saved when I close the tab graph window in which I did the edit. When I reopen the graph of the Blueprint only the white little bubble with the text “Click to edit” is visible is visible on these nodes but the text I set is not there anymore.

Note: This seem to happens on some nodes only. In particular it happens on every nodes related to a function inherited from a parent class and on some macros.

Repro steps:

  • Create a Blueprint Actor. Create a function called MyParentClassFunction
  • Create a Blueprint Actor based on the previous BP. In the constructor call MyParentClassFunction
  • Now click on the top left icon on the node of MyParentClassFunction to make the description bubble appear and enter some text. Do the same for the Parent Constructor node.
  • Close the panel window in which the BP actor is edited and open it again. In my case the text on those nodes has disappeared.

If I create a ForLoop node and do the same the description text is not kept either.

This is on 4.10.

Thank you


I have attempted to reproduce the issue following your repro steps, but I have not been able to get my comment text to disappear. Could you provide your dxdiag so we can see if it could be a potential hardware issue? Thank you.

Hello Sean,

Here is my DxDiag and a sample project (4.10).
I did various tests while changing the descriptions in the child class and I don’t get exactly the same behavior I have in my other project. To say the truth I have some inconsistent behaviors: I didn’t find a rule to predict when a description will be kept or not.

The repro is this:

  • Go to the Child class constructor and change the description of some nodes.
  • Close either the tab window of the BP or the tab window of the constructor script.
  • Reopen the constructor script graph and see which descriptions are there and which are not.

It seems that compiling and / or saving before closing the tab affects the result.

The expected behavior is that when a description is changed it should be kept in the graph when the graph is closed. The user shouldn’t have to save before closing the graph, this for 2 reasons:

  • first because when a description is changed there is no information in the editor saying that the graph has been modified (not even the * near the BP name, on the tab title, which is a bug in itself),
  • and secondly because this would be inconsistent with the fact that when a node is added to the graph this graph can be closed (without a save) and reopened and the node will still be there.

I was able to reproduce the issue, but this is intended behavior. The issue is that you are either not clicking off of the graph or pressing enter to confirm the text that you’ve entered into the commend node. Ensure that you press enter or click off of the node so that the text is “saved” before you close the tab. When I did this, I did not run into any issues with the comments disappearing.

I don’t understand.

When I enter a description and click on another node without clicking on Enter, the description is taken into account and I am able to edit another description. If I close the tab and reopen it, it has, in deed, disappeared.

So what you say is that a description is only taken into account if we click on Enter at the end of the text.
If this is the behavior you want then you must clear the comment when the user leaves the description bubble without typing on Enter (when she clicks on another component for example), otherwise this is really really disturbing: how the user can know her description will not be kept?
There is a UI behavior to clarify here, if we don’t want the user to keep losing information.

My opinion is that clearing the bubble when the focus is lost without typing Enter would be a good answer but is not as elegant and intuitive as taking the new description into account when the focus is changed.

Pressing enter or clicking off of the node both cause the text entered to be saved. This means that if you click on another node in the same panel, it will act as if you’ve pressed enter and apply the changes that you’ve made to the comment bubble. If you close the panel that you are working in without applying your changes (meaning pressing Enter or clicking another node or somewhere on the graph) then the new text would not be applied to the comment bubble, which is what is expected.

Think of it in the same sense as sending a message to someone over Skype. If you do not press Enter, the message will never be sent, and if you close the window, the text that you have entered will not be saved when you re-open the program.

Pressing enter or clicking off of the node both cause the text entered to be saved.

So far so good… Except that when I click off the bubble after having modified a description doesn’t seem to be saved. That’s my point.

Try this: in the samples I sent you open the constructor graph of the Child BP. There is no * near the name of the BP on the tab title, right? That’s because so far the BP has not been modified.
If you edit a description bubble and type Enter, a * appears. So the description has been taken into account.
If you edit a description bubble and click off the node, the description is still visible on the node but the * doesn’t appear, which means that is has NOT been taken into account whereas the Enter did.

So here is the bug.

Thank you for the clarification. I was under the impression that when you were hitting the Enter key, you were still seeing comments disappear. I have been able to verify that clicking off of the node that you are commenting on does not, in fact, mark the blueprint as dirty and the changes are not saved if you close the panel you are working in. I have entered a bug report for this issue (UE-24262). In the meantime, ensure that you are pressing the Enter key to confirm the changes made to comments in your project. Thank you for your report, and for providing clarification on this issue.

Have a great day,

Sean Flint