Hi everyone,
I’m relatively new to Unreal Engine and I’ve been struggling with a Blueprint interaction for a couple of days. I want to click and drag a cylinder (Actor Blueprint) with the mouse to rotate it, but with specific constraints:
-
Axis: Rotation should only occur on the Z-axis.
-
Stepped Rotation (Snapping): It needs to rotate in fixed 60-degree increments (e.g., 0, 60, 120, 180, 240).
-
Clamping: The rotation must not exceed a maximum of 240 degrees (starting from 0).
-
Pivot: The pivot point is correctly centered in the middle of the object.
I have tried several approaches using OnClicked and GetMousePosition, but I can’t seem to get the snapping and clamping logic to work together correctly without the actor glitching or rotating infinitely.
Could someone guide me on how to structure the Blueprint logic for this? Specifically, how should I calculate the mouse delta to trigger the 60-degree jumps while keeping the value within the 0-240 range?
Any screenshots or logic explanations would be greatly appreciated!

