No, skeletal meshes is one single mesh that drapes over the whole skeleton. That’s kind-of the whole point.
You can do some tricks. If the mesh you want to replace is bigger than what’s in the skeletal mesh, you can add a static mesh bound to the bone in question, and it will render on top of the skeletal mesh.
If that doesn’t work, you can do quite the hack with animation blueprints and sockets:
- Create a socket that’s parented to the same bone that your bone-to-replace is parented to, and in the same location.
- Update the animation blueprint to have the ability to set the scale of the bone you want to replace to 0.
- When “replacing” the mesh for “this bone,” you add a static mesh to the socket you added in 1., and change the appropriate parameter in your animation blueprint to set the scale of the bone in question to 0. (Note: the “position” (offset) still needs to be what it is, only the “scale” part should be changed.)
This will essentially make all the vertices bound to that bone, collapse into the point of that bone, when rendered, which will allow you to render some other static mesh on the socket instead. The socket needs to be parented to the parent of the collapsed bone, else the replacement mesh might also be affected by the collapsing scale!
And, it’s very likely that other parts of the mesh will shrink or stretch when you do this, because many vertices may be weighted to multiple bones, and only the part that’s contributed by your “collapsed” bone will be changed.