Child Actor Won't Refresh Mesh

I have a child actor in my actor blueprint that I’m using to keep track of attached armor pieces.

The problem is, when I’m switching weapons I set the child actors class to the new one and sometimes (I can’t tell how it’s determined) it won’t update the mesh.

This is what it looks like in game. Red is the “Staff” mesh and blue is the “Sword” mesh. This is a single child actor!

This is my hierarchy. I have the Weapon_L actor selected, but as you can see that actor is in the other hand, I don’t believe it’s two actors stacked on top of each other as I never move them. Weapon_R appears to be getting two meshes some of the time.

Is there a way to force an update of the actor? I tried destroying the child actor, it causes a crash. :slight_smile:

I don’t like Child Actor Components that much, they tend to be problematic IMO. Do you really need them to be Child Actor Components? Maybe you can just use AttachActorToComponent and attach them to a socket in your character mesh and handle them through an inventory object or actor. But anyway, can you show screenshots of your blueprint code where you manage this?

If it’s truly advised to avoid the child actor components, I can do that. It was just simpler at the time. :slight_smile:

Ok so just a couple of questions. Does your character always have the same weapons and he just swaps between them? or do you find weapons in your game and you add them to your player?

Edit: Oh look what I found here: Change Child Actor Class through Blueprints - Blueprint - Epic Developer Community Forums

It says that you shouldn’t change the child actor class at run time, that’s what’s probably causing your problem!! Try attaching actors instead

Well then… I guess your first suggestion is it.

It’s a list of 300 possible weapon classes at this point, that you can walk around the game world and pick up and equip at any time you want.

Post your comment as an answer and I’ll give it the +.