Modifying C++ Base Class Resets Derived Blueprint's Variables to Default after Editor Compile

Looks like AnswerHub included the trailing period as part of the URL, lol. I’ll try and fix it.

Unreal Engine 5.0.1. Issue still exists with Live Coding enabled.

Setup: VS 2022 + UE 5.0.1.
Created project, custom C++ class, say MyActor from AActor. Added UStaticMeshComponent to MyActor. Create BP from this MyActor. Set its mesh property. Compile with Live Coding (Ctrl+Alt+F11). The same when compiled from UEditor. Mesh is nulled each time after recompilation. Works the same on each BP property inherited from custom C++ class. Very annoying.

Having this same issue with or without live coding:

  • Create custom actor component
  • Create a MyFloat UPROPERTY float
  • Save a value for MyFloat in BP
  • Compile
  • MyFloat is back to 0

Another similar issue i came across is that if a class is hard referenced from another class or even a datatable it brakes the class resetting all the values of variables to default parameters. And the only way i found to deal with it is to use constantly soft references and load all the classes which are soft referenced at the beggining of the game and use the resovle soft reference in all other classes. Cant believe this isnt solved yet.