How to rotate object along an arc with a fixed base?

Hello, I’m very new to unity and am trying to make a marble popper game like Snood or bubble town. In these games, the object that shoots the marbles stays at a fixed point at the bottom and rotates along a curve on the top based on mouse movements.
I’m using a cylinder as my prototype shooter.
When I try to make it rotate with the mouse movement (for aiming) it spins the whole object instead.

I’m attaching a picture for example. I want the round part of the shooter to be the point of the rotation so its location stays fixed, and the arrow part to rotate so it’s always pointing towards the blue arc.

Thank you for your help.[636-\shooter.png|636]

Looking at your diagram, imagine that the X Axis points left, the Y Axis points up and the Z Axis points “into” the picture. To achieve the effect you are looking for, what you want to do is rotate your object only around the Z axis. If you do this, then you will constrain the “arrow” to the X/Y plane. If a zero degree rotation cause the arrow to point up, then you would want to constrain the rotation (along the Z axis) to be between -90 and +90 degrees to prevent it swinging too far to the left or too far to the right.

You should move the object’s pivot to the center of the round part. This can be done in the 3D editor where you created the object, but there’s an easier alternative: create an empty game object (let’s call it Shooter), move it to the pivot position and child your object to it - your object becomes just a model, and everything (rotation, movement, shooting) must be done by the Shooter object.