Problem with skeletal mesh

I think you are misunderstanding how to implement Interfaces. here is a summary.

  • You create the interface (like you did)
  • Add the interface to the target blueprint you want to respond to the Message (if you want to turn off the light on a bulb, i implement it on the blueprint of that bulb only)
  • you do the interface Message from somewhere else, lets say, upon a hotkey press (in my example, is on the PlayerController)
  • you make sure you do a “Message” call. in your screenshot, im not sure where you are doing the interface call, but your are not sending the Message. my guess is that wherever you are doing that “OnClick” event (a widget?) you are implementing the interface in that widget. you have to implement it on blueprint of the skeletal mesh, Compile (this is important, else it wont show), and do the Message call from the widget. Make sure there is a little envelop on the Interface Message (see the red circle on my “Show Widget”).
  • on the target blueprint you implement the logic (as you did). also, your naming is wrong, it describes nothing about what the interface does, “Which weapon is in use?” would tell me its gonna return a Skeletal Mesh value, instead its equiping a weapon. it should be called “Equip Weapon”.

See this tutorial on blueprint communication by Epic. they explain how interfaces work (pretty much what i said here)