Default Variables in Children Cannot Edit Anymore

For some reason I can no longer set values of variables declared inside of an actors parent class. It now only shows the variable in an un-editable grayed out state.

How do fix that?

1 Like

Parent

Child

You have to set it in blueprint so say EventTick → Set SpellCast(1.0)

You cannot directly edit inherited variables.

You could create a variable in the child class called spellcast_SETTER or something that works on a SetTimer function ever 5s to set the parent spellcast to whatever value spellcast_SETTER is.

Epic has been doing alot of these types of things to prevent unintended bahavior accidently even if you “know” its right in say a programming or OOP or proper inheritance sense. It seems like a bug but its intended.

Don’t forget to accept an answer that best clears your question up or answers it so when the community finds your question in the future via search/google they know exactly what you did to fix it/get it going as well as keeping AnswerHub clean so that it gets removed from the “unanswered questions” category.

Well then ill stick to 4.8 then if this is intended.

I am very angry if this is intended.

1 Like

Please some epic staffer tell me this aint so.

I made a post on the [forums][1] asking for verification that this is an intended “Feature” and Variss gave me a solution.
Use the Class Defaults panel instead of clicking on each variable to set the default variables

1 Like

Thank you so much for this, finally after hours of searching I have been able to solve the following errors during packaging:
LogBlueprint:Warning: [compiler Block_Float] Warning Could not find a variable named “BlockType” in ‘Block_Float_C’.
Make sure ‘Block_Float_C’ has been compiled for Set BlockType
LogBlueprint:Error: [compiler Block_Float] Error Dependency cycle detected, preventing node Enum to Name from being scheduled

My mistake was trying to change inherited variables by “Set” in the child construction blueprints and doing it your way has solved this problem.

This is a legitimately terrible answer (and also ends on a really passive aggressive note…)

To anyone reading this later - DON’T USE THIS METHOD!
OP posted a much better solution. Follow what they said instead - Epic have hidden all your variables in the Class Defaults panel now. Even if you really want to set the variable this way, it should be done once, ideally in the constructor, rather than on tick