How to fix up object stuck at NULL in blueprint?

I have a character subclass. It creates an AbilitySystemComponent, and a custom AttributeSet.
The AttributeSet is assigned to a member variable named Attributes which used to just be a UPROPERTY() but is now EditAnywhere, BlueprintReadOnly.

Anyway, somewhere along the way, this object has gotten stuck at None/NULL in some key blueprint subclasses – but not others.
I can fix this up in the object after creation/deserialization, but everytime I try to reload a recompiled DLL, it crashes trying to read serialization flags on this NULL object (inside engine/UObject code, not inside my code.)

I’d rather not have to re-create these blueprints, as they have a fair amount of customization in them (very detailed character instances with dozens of skinned mesh components etc.)

How can I get these blueprints to no longer have “NULL” as the property value?
Is there an appropriate hook in the demarshaling code that lets me override this, or is there some other trick I can use to update whatever is stored in these blueprints, at edit time?

Answering myself here. Nothing like posting a question to get clarity on a problem!

The solution is facepalm simple.

Make the attribute editable. Clicking the yellow “revert to defaults” arrow next to the property in the editor will remove the null-ness and set it to a default object instance!

1 Like

This was the solution for me too.

Please take this box full of my e-gratitude!