Blueprint not only resetting but can't read values changed

So I have been getting this bug. To be clear I have to recreate the class from scratch because after the bug any changes to default variables like maxspeedwalking is not used by the blueprint. instead it is obvious that it goes to the default value of 600.

the blueprint is an instance of a child of a Acharacter.

I just compiled the c++ project while the blueprint was open, I don’t think it happens all the time, but I don’t remember having the blueprint open either.

I already have had to recreate my class 5 times cause it gets locked.

Hello Legendary Games,

I was unable to reproduce the issue you are experiencing. I have a few questions that will help me narrow down your issue:

  1. Can you reproduce this issue in a new project?
  2. If so, could you provide a detailed list of steps so I can reproduce your issue on our end?
  3. Could you provide screenshots of your issue?

Thanks!

Hello thomas, I think I did a poor job explaining the bug the first time.
The bug can be boiled down to this.

When I add an UPROPERTY with a category that wasn’t created before in the next case

UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = Artifacts)
	UStaticMeshComponent* batCableMesh;

I had no Artifacts category. When I add such a UPROPERTY the blueprint that inherits from my c++ class can’t find the other UPROPERTIES that were working before. I have to delete this blueprint class and then recreate it again after that it works just as expected.

So to reproduce create a c++ class with a UPROPERTY category1, Inherit from that, play with that character and keep the editor open, use UPROPERTY1 to do something ingame but read from blueprint, don’t do it directly on c++, so you can see if values are amiss; then go to c++ code and add another UPROPERTY with category2, try to read UPROPERTY1 now.
If the bug is reproducible you should not be able to read UPROPERTY1.

Or maybe you just can’t add uproperties after inheriting from a c++ class and it is working as intended, I don’t know.

When I add this code to my new character I can see the UPROPORTY in the details panel. Could you elaborate more about your issue as well as provide screenshots of your issue before and after?

yes Mr Thomas adding the code by itself works as expected, the bug is kindda hard to explain, you need to follow the rest of the steps I posted in my last reply, adding another UPROPERTY with a different Category etc. I am posting because in some old questions this bug pops up and people from epic were dying to get reproduction steps. But yeah the explanation is convoluted.

Hello,
These are the steps I took based off the information you provided, using these steps achieved the expected result on my end.

  1. Created a new character class in C++
  2. Created a new UPROPORTY with a Category named “Category”
  3. Attached a float variable to the UPROPORTY
  4. In the character’s blueprint, I set the float value to print on tick
  5. Played in editor keeping both VS and the Editor open, this resulted in expected behavior
  6. Created a new UPROPORTY with a Category named “Category1”
  7. Added a new int32 variable to the UPROPORTY
  8. In the character’s cpp I set the value of the float to 413.0
  9. Played in Editor again, with expected behavior

If you have a sample project that can reproduce this issue, please feel free to send it to me privately on the forums here:

https://forums.unrealengine.com/private.php?do=newpm&u=680446

Hello Legendary Games,

We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will follow up.