Trouble with child actor inside blueprint.

I believe this causes crashes when i try to compile my blueprint.

There are 6 child actor blueprints, when i added only 3 to parent blueprint. Ship here is parent and cannons are child actors.

6d15e9966aa3a06ff203d5c03c86618e4fc39f8a.jpeg

This is setup of my ship blueprint, only 3 cannons here:

0b73ea250bc53bd142b661dede9954c363230d6d.jpeg

And this is during animation 3 cannons fired (2.), just like I wanted, but there are 3 extra frozen ones (1.)

Also first picture was taken when i started game right after loading it. and 3rd pic is on second run, you can see numbers in cannon names increased quite a bit, like they were not destroyed and are left somewhere in level.

There is another small problem, cannons are attached to hull, hull is animated with interpto to simulate waves and turns. But cannons follow rotation and position of root object only.
I know how to solve it with manually adding vector and rotation from ship, but i think they should follow actor they are attached to.

PS. I just added sockets to my hull mesh (that socket editor is great feature btw.) same thing happens. When i place normal mesh there it gets orientation from hull, but blueprint gets it only from parent BP, no matter if i set socket to non or one i just created.

PPS. there is no construction script for my ship, and nothing is spawned from BP, I am adding each piece manually. However if i find way to iterate sockets i may try construction script for spawning cannons.

there are, to my knowledge, 3 bug reports on answerhub and probably more threads at c++ forum, so it eithet already fixed in 4.2 or we need to wait a bit longer.

Good to know, I can wait, will play with different stuff.

Crash is for sure when i try to compile blueprint with another blueprint as child actor.
Even with sockets, still double child blueprints, and attached to root, like sockets were on root not on mesh that i just made them for.
And another “maybe bug” maybe me not knowing stuff yet: when i get all socket names result is “static_mesh_socket_1” instead of what i named it ie. “left_1” etc.