Attached scene component in inherited blueprint


I have a character blueprint and it has an animated mesh. A boxcollision component is attached to a bone (it is aligned to a sword) and everything works well - the player character using this can strike and hit things as expected.
I attached the collision to the bone in the blueprint’s construction script using the Attach To node.

But I inherited an other blueprint from this for the AI. That’s when things became weird. I didn’t do anything with the collision in this inherited class - the parent’s construction script is called and that does the attachment.

In the blueprint’s viewport everything looks fine. If an instance is placed on the level it looks okay - as long as I don’t start the game.
Once the game is started the collision geometry disappears - if I pause the game and click on the component from the Details panel of the AI character instance I see that it is scaled down (it is too small to see) and located inside the character :confused:

The collision itself has a small scale value ( because the skeleton has a huge one so it had to be corrected), maybe it is applied twice.

But why? And why does it work in the level differently once i start the game in the editor?

I am not sure what’s going on or how could I fix it, so some help would be really appreciated.

Thanks for reading,


It has nothing to do with the inheritance. If I place an instance from the parent blueprint class same thing happens with it. So the collision geometry works as expected in the blueprint’s viewport, in the editor as long as I don’t start the game, and for the controlled player character ingame :frowning:

My solution:

  1. I removed the AttachTo node and restored the collision geometry to default state.

  2. I moved and scaled and rotated the collision geometry to align to the sword in the starting position

  3. I added the AttachTo node to the BeginPlay blueprint with the Keep World Position attachtype.

Works fine this time, the NPC-s and the player characters experience the same (and expected) behavior both in the editor and ingame.