Download

Mouse over and click events not working for certain meshes

Hi All.
I have created a blueprint base class (interactable) which highlights the object under the mouse cursor and provides an overidable interact function. All the static meshes I have used so far have worked, however, I imported the Medieval dungeon free content from the marketplace and the doors do not generate mouse over events. I also added “over” and “out” messages to test that it wasn’t something else.

Mouse Over

As you can see above, the blueprint works to highlight the Skeleton. The base class blueprint is pretty simple:

Both the skeleton and the door extend BP_Interactable with no changes other than the static mesh. I have looked at the mesh and do not see a problem with the collision (maybe I am missing something)

Any ideas?

Note that I had to add collision to the floor tile

I’m not sure what you mean by “collision”.
Did you check both the collision mesh and the collision settings?
The settings (ignore, overlap, etc.) should be the same as the meshes that work.
The collision mesh (show simplified collision in the mesh editor) should be there. It’s possible that the creator of that mesh forgot to add collision, in which case you can just add something yourself.

If it is not the collision, then I don’t know what could be happening. You might want to try testing some more (moving the mesh around, adding another one, etc.)

If you STILL cannot find out why, then manually add collision in your Door class. Just add a box collision component that fits around the door, and set the right collision settings. That way, the mesh will not matter.

Thank you for your prompt reply.

Collision meaning that I opened the static mesh in the editor and checked the collision properties and that collision exists within the mesh. I also tried deleting the mesh collision and adding the “box Simplified Collision” from the menu.

Within the blueprint, the static mesh properties I leave as default for the class since they work on all other meshes that I have tried (they are the same). This leads me to believe that it is something to do with the door mesh itself, but I can’t figure out what.

If all else fails, I will try manually adding a collision box to the Blueprint as you suggested, but I’d rather understand the cause

Could you show the collision settings for the static mesh component that is using this static mesh?

Clicks & MouseOver events trace on the Visibility channel (by default, at least) - so the mesh must be set to block that. Everything else (I can think of) has been mentioned above. Each component can override those values separately.

So even if your blueprint has the correctly set up collision, its instance in the level may override that.

Essentially this:

Thank you for taking the time to help.


Changing to block all from block all dynamic makes no difference.
That’s what I have. This is a serious mystery to me

I built this little level just to demo the problem. Literally I just dropped in the blueprints, a light and the character start point. My game has many procedurally generated interactibles in a generated level, and only these doors give a problem so far.

I got around it by making the doorway interactable (for now) but this is not the desired effect

Looks more than fine.

What are the chances that something else eats up that input and it never arrives? Another rogue collision element?

This is a possibility, but I can’t find anything. If I run in the debugger and look at the interact event(bound to right mouse) it picks up the floor and the level but never the door. Also, if it were something blocking the input, it would block other meshes and I wouldn’t ‘see’ the floor

So I added box collision to the blueprint as previously suggested and all works perfectly. I will use this as a solution, but I still really want to know what caused the problem in the first place. Thank you for your time

Hard to tell without inspecting the actual asset up close. Judging by what you’ve described, it will be something uncanny. You could try printing this and see what actually shows up after clicking the door:

You should be seeing the name of the static mesh component. If that works, you could start digging deeper:

1 Like

It doesn’t see the static mesh at all, just the floor. It’s like it’s invisible but Obviously We can see it.Prints the floor, prints the doorway, prints the skeleton and any other objects I add but doesn’t print the door. Even with just placing the mesh without the blueprint class - no result. :crazy_face:

And the door also misbehaves if you remove all collision and add a simplified box collision:

image

I believe you’ve mentioned it, just checking.

yeah, I did that. If you want to examine the mystery, It’s the large doors in the Medieval Dungeon Free from the marketplace. At this point I am suspecting Spirits. Maybe I should go to a witchdoctor and see if he can tame the door disruption spirit and appease the gods

1 Like

Had a look at the Left door (the other wing is fine) and yeah, it’s messy. There’s something weird about the UVs, and while the regular collision works… the tracing responses don’t.

Not offering solutions at this point - just confirming that it is, indeed, caused by Spirits.

1 Like