Im having a simple problem. I cannot seem to full destroy my motion controller pawn. Even if I Un posses it and destroy it, the motion controller hand) meshes still remain in the place where the actor was destroyed. After respawning the pawn and possessing a new reference of the motion controller pawn, the previous pawns hands continue to move in the distance with my hands from the current motion controller pawn.
Any one has any ideas why this would be happening? I have tried this across 4.14 - 4.18 preview and cant achieve the destroy command to completely get rid of the pawn.
Here are some screenshots of my blueprint and VR preview in editor. I have also tried to destroy the actor from within the pawn BP itself, but I get the same result of old reference existing and mirroring new pawns movements.
Hey myavuz
thanks for your quick response. You are correct in that the BP_MotionController is spawned within the motion controller pawn and is attached to it. However, I would assume since it is attached, it would get destroyed with the parent actor as well. There is also no way for me to reference the spawned BP_Motioncontroller in the level blueprint.
EDIT: myavuz, you were absolutely right! I called the destroy function from within the motioncontrollerpawn instead of the level blueprint and called the same destroy function on the left and right controllers. Did the trick! thanks a lot.
The method I resorted to, which also works, is to not place any MotionControllerPawn actors in the level. Instead, spawn them in. Get all actors of class, using the MotionControllerPawn, and if the number is greater than 0 (the first one), do not spawn any new ones.
Those hand models can also be destroyed by using a reference to BP_MotionController, instead of MotionControllerPawn, as the hands are specifically spawned from the former.
There are issues with duplicated assets/spawns/anything that was referenced by the two separate BP_MotionController sets, if they are both allowed to spawn and then one is destroyed later.