It seems that changing animation BPs can corrupt them. The only way I’ve been able to fix it is to completely remake a new animation BP, which is very time-consuming for complex BPs.
The symptoms I see when this happens is:
Opening the project and running in the editor will have the player mesh unresponsive, usually in the base pose (for mine, it’s a T pose) - no animations. It can attach objects if you pick them up, but there’s no movement.
If I look at the animation BP, it usually shows that it is already compiled and up-to-date – but the little preview will be in the correct stance, instead of the T pose. If I compile the animation BP, it will actually change the player mesh, and it will now work running in the editor.
However, when it’s in this state, I can’t make a compiled version that works; the player mesh is always in the T pose and won’t animate at all.
The above often creates crashes – sometimes opening the editor, sometimes closing it after modifying an animation BP, etc.
Copying the animation BP doesn’t fix it. The only way I’ve found is to recreate it in a new BP so it isn’t corrupted.
I think I have a similar problem, or rather I think the problem I have is linked to the same problem you’re having.
What happens to me is I have a base blueprint for my enemies, I then make some child blueprints from that to branch out various enemies. Those child blueprints can get “corrupted”. I’ve also tried to branch out child blueprints from a base animation blueprint for the enemies, and they also get corrupted. Rather what seems to happen is their variables or properties would set back to “factory default”. After that there’s nothing I can do to fix it unless I recreate it.
I think your problem here is possibly the same thing. I’m not sure if your blueprints that get corrupted are based on a parent that you created, or if it’s one based on the default animation blueprint, but it sound like you get the same thing happening that I do.
In my project it only happen to my enemies, nothing else, so I think it’s a rare thing since I use other parent/child blueprints as well, that works just fine.
I’ve reported this on answerhub and it’s been submitted for review. Here’s the link for that…
I’ve posted on there a lot of my findings on what’s going on. I’m not sure if your problem is the same thing, but it sounds like it might be.
I can’t consistently reproduce it, but it seems to happen (sometimes) if you copy & modify nodes in a blueprint. I’m going to try and avoid corruption by only deleting and creating new nodes instead of copying groups of nodes. I think the BP compiler might be using old housekeeping data if you use a copied node and it ends up confusing the compiler.
For me actually I can copy and modify as much as I like, it never gives me any problems there.
But I think from your descriptions it’s very possibly the same “bug?” causing both our problems, even with that difference. It seems like the same end results, in the fact that the blueprint become corrupt in some way and is unchangeable after that.
I will say that I tried to many things to “fix” broken blueprints to see if it’s some kind of legacy thing holding on and causing problems but with no luck.
I also can’t reproduce the problem at will, from scratch. I can easily break specific blueprints that I know already will break because I did find the cause for how to break them in my specific case. But I can’t get it to happen to others necessarily. Pretty much what breaks my enemy blueprints is simply to add a spawn node, say in my game mode blueprint, and reference the enemy that I want to spawn. That’s it. As soon as I do that, that enemy blueprint is broken from then on. To fix it I have to recreate it.
That is weird right?..
Anyway, yeah, I’m kinda glad you posted this because I’m almost sure from what you describe, it might be the same thing and it seems very rare, but has to be a bug, otherwise it won’t happen. That’s my theory anyway. I’m not a programmer, so stuff like this makes no sense to me, but maybe programmers understand what can possibly be going on with it.
Put it this way, in earlier versions of the engine, it all worked 100% and it’s the same stuff, I did not change anything, so my blueprints work for sure. And in fact, as long as I spawn from the level blueprint, my enemies work as well. This is far from ideal, but it’s a temporary work around I can use to test the game at least. Which again, is kinda weird.
Sure, I did submit as a bug and have discussed with one of the Epic guys and he did submit it for review. I just haven’t received any confirmation about whether it is actually a bug or something else going on.
I also found this Anserhub post that seems related to the same problem I’m having and so possibly also your problem, Brian. There seems to be some good traction there in a possible fix for maybe version 4.8 it sounds like.
That is one reason based on the repro, but there are other replies there that had other reasons and if you read the very last post, it seems they have found the problems.
Either way, in either 4.7.4 or 4.8 I’ll see if it’s fixed for me. I found another post that leads me to believe it might actually be fixed in 4.7.4. So based on that I’ll follow up in my own Answerhub post.