Realtime rotate object-return to original position when mouse released

Hello everyone! I am currently working on a presentation and what I would basically like to do is, rotate the viewport in which I have the object (pan,zoom) with my mouse, but when I release the mouse, I want the viewport to return to its original position as it was before I rotate it. As if I would have somehow locked its original position and after a few seconds of idle state, it will be placed to where it was its original state.

For example, if I had zoomed too much in the model,after I release the mouse,after it being idle for a while, I want it to zoom itself to where I had originally placed it from the start.

The reason I want to do this, is because there are hotspots on the object which I want to point out and I don't know if (or how),I can insert hotspots while the viewport is positioned differently from the original position where I have inserted my hotspots-in the form of buttons. Sorry if I explained it the wrong way as this is not my most used language

Thank you in advance for your time!!! I'm very new to this and any feedback would be very appreciated!

I don't understand what part of this is your question or problem.

You basically need to store the position and rotation (or whatever values you use) that the camera should return to. Either you can store it during Start or Awake if you want to retain the start position. Or you could store the data when you begin changing your view.

You can then use Vector3.MoveTowards and Quaternion.RotateTowards to restore the position through a graceful animation after some timer have elapsed since you "released the view". This animation can be done easily in a coroutine.