When I try to compile a blueprint the editor crashes. It has three child blueprints. If only one child blueprint is present it compiles properly. It does not matter which child blueprint this is. If there two or three of the child blueprints present it crashes when compiling.
I have as a work around been moving the child blueprints to a temporary folder using windows whenever I need to compile a change to the parent blueprint, but this is time consuming and doesn’t fix the problem.
What is causing these crashes? Is there anything other than what I already do to prevent these crashes from happening?
I have atached a text copy of the log to this post
Two of the child blueprints only alter a few default values, the third has a few functions. Two that override the parents function to do things a little differently, then call the parent function when they are ready.
Can you be more specific?
Neither the parents, nor the children cast to each other, they do however have functions that cast to the player character. And the player character has functions that cast to the weapon blueprints (the parent and child blueprints causing troubles.)
So your child casts to the character, which then casts back to the child? This is the same kind of loop that I was having trouble with. I don’t understand why it has problems, but it was a mess for me.
See if you can work out a way to have only your character cast to the items but not backward.
For instance, I Cast from Character to Tile_Parent to MapGenerator and back to Character. This was a mess.
I changed it so that I Cast from Character to Tile_Parent AND MapGenerator. . This fixed my issues. Instead of my Tile_Parent finishing it’s business and continuing the chain, the Tile_Parent did it’s business and then ended. After Casting to the Tile_Parent, the Character Casts to the MapGenerator for it’s part.
This keeps the whole process linear and keeps it from tripping over it’s own feet(however that happens).
The casts are spread out amongst several different functions. None of them cast to something, then cast it to something else immediately after. (al la cast pawn to character, then cast character to pawn) I think the only time when two classes cast to each other is casting from a stored variable to a specific class (such as finding the owner’s pawn.)
Well this issue has come back with a vengeance. Or another problem. Hard to tell at this point.
I am now unable to open any blueprint, or play the game in the editor. I have attached a new log to this reply.
I have tried my previous fix of removing all the children blueprints, and adding them one at a time. I am able to open, edit, and compile blueprints until I have all of the children added to the project. At that point I fix the broken links in my games base character blueprint. Once I save the whole thing and reload the project it all dies again.
Uscript never seemed to mind, but maybe my own brand of logic really doesn’t jive with blueprint. I had hoped to make it much further before having to break down and start coding with C++
I abandoned that particular version and continued on from a backup.
At the time I was working on an ammunition system. Specifically a function in the player character that would search an array of ammunition actors to see if there was one of a particular type, then return that actor, as well as the current level of ammunition remaining to whatever called that function (the weapon actor when it tried to fire)
I believe I was working on version 4.1 at the time.
I have run into many issues with 4.2. Most of the show stoppers have been because the editor decided it didn’t like one blueprint or another.
Recently it has been troubles with behavior tree nodes. My solution for those has been to move any functions of any significant complexity from BT nodes into the AI controller, or split them up amongst several small BT nodes.
I had a rather lovely issue with blueprint structs. Whenever I tried to make or break the custom struct that blueprint node would go bad when reloading the project. The struct in question consisted of a bool, two floats, a name, and an actor. My solution was just not to use custom structs. Currently its several arrays, two that store floats, one that stores bools, and another that stores a name. The functionality that the actor would have served I will just have to deal with when I come to that point.
I expect to continue to have Ued arbitrarily decide it dislikes whatever I am working on at the time. And then spend time reworking blueprints so that I can continue to make progress on my project.
I apologize for not responding sooner. If you need help with any additional Blueprint issues, please feel free to post a new question and we will try to help with that.
I will be marking this issue as resolved for tracking purposes. If you run into this same issue again, please reopen this question with any additional information you may have.