Since:
- these are world space widget components
- each with a quad very capable of responding to traces
- and we’re using a mouse
There seems to be no need to get the widget interaction component involved, or, worse, to mess with slate. Trace against the component, move it. You could simply get hit under cursor by channel / object
and be done with it.
Any reason why this approach is not feasible?
Here’s a crude example of what I mean:
- I have extended a widget component and have aBoard actor create a grid of them:
This part is definitely different for you; here, included only for the sake of completeness.
- the board moves the pieces (this should be done in the player controller, though):
- the result:
Instead of snapping a vector to a fixed value, you’d snap it to the block behind it, ofc.
Could this approach work for you?