Engine replaces Variables on save

I have 4 classes (all in Blueprints). 1. Ability, which inherits from UActorComponent 2. Power, which inherits from Ability 3. AbilityManager, which inherits from UObject 4. PowerManager, which inherits from AbilityManager

AbilityManager has an array of Ability, called “Abilities” PowerManager adds an array of Power, called “Powers”

The issue happens in PowerManager.

When I drag “Abilities” into a function (from the variables pane), it shows up fine. However, if I copy the reference and paste it, it pastes a reference to “Powers”. If I save the class and close the project, and then reopen the project, all references to “Abilities” are replaced with ones to “Powers”.

Any help would be appreciated.

I have worked around it by removing “Powers” and just casting each Ability from “Abilities” to Power when I need to use them.

Update: It has now done this with a float as well, When i reopen the project one variable reference is replaced with another in a function.

Regards.

Hi giffen,

In your PowerManager blueprint, do you have a variable saved for the new reference? Without that reference, the blueprint won’t know what is contained in the event graph.

Yes, both “Abilities” and “powers” are class variables, not local variables.

This is what it looked like before the save (look at the variable in the upper left corner “Abilities”)

And after the save, close and reopen project (again, look at the variable in the upper left corner “Abilities” has turned into “Powers”):

As far as I can tell, in both cases it was in a child class, with a reference to the parent class’s variable of the same type as one in the child class. Unreal replaces the reference to the parent class’s variable with one that is only in the child class.

  • Does this occur in a clean, blank project with no additional content or is it limited to one project?
  • What steps can I take to reproduce this error on my end?
  • Do you have any circular references that may be overriding your information?

I have no idea if it happens in a blank project, this has only happened twice, both times since I moved to 4.13. This is a fairly large, complex project. I did not have the problem in 4.11.

I have no idea what is required to reproduce it. I will note that the two times it happened was with references to inherited variables, and it replaces them with child objects that “look” similar.

No, I do not have any circular references.

Do you have a sample project I can look?

,

I don’t want to post it in this forum. It is a large project and if there is some way I could share it privately, I might be OK with that. I have created workarounds for the problem at this point, and it was more about trying to help others if they saw the same thing. One other point, I believe in both cases, those parts of the project were in place in 4.11. When I create new variables in 4.13 (not carried over from the 4.11 version), the problem does not reoccur.

Regards,

giffen

You can private message me the link [here][1].

[1]:

Hi giffen,

We have not heard from you in several days. I am marking this as answered for tracking purposes. If you are still experiencing this error, please comment with the requested information.