How do i throw an object on button click?

So,im making a game with a ‘‘telekinesis superpower’’ mechanic,where the player can pull objects from far away and them throw it.
But im having a problem that i don’t know how to solve.

If i pull an object,it will come to my direction and freeze on the middle of the screen,that’s working all right.
But when i click the key to throw the object away,i can’t use '‘AddForce" because the object will aways go in the same direction,but i also cant’ use “AddRelativeForce”,because when the object hit something on the scene and spins around,it’s front will randomly change,and on the next time i try to throw it,it goes to a random direction.

I need to find a way to aways throw it forward,no matter where the object is facing…
How can i do that?

Im using the script on the objects,every single object on the scene has a script that when the player is pointing towards them and press the button,the object moves to the player hand and freeze on the middle of the screen.

You probably do want AddForce but you want to base the direction of that force on your player’s heading, NOT the world orientation, and NOT the local object orientation.

Assuming your player is normally oriented, looking “forward” down +Z and the sky is towards +Y, you can use the transform.forward and transform.up shortcuts (based on the player’s transform, or the camera’s transform if you prefer) to add your force:

float forwardPower = 250;
float upwardPower = 50;

Vector3 throwForce = transform.forward * forwardPower + transform.up * upwardPower;

And then apply that force to your object. No matter which way that transform is facing, it would always be relative to it.

REQUIREMENT: replace the above transform reference with a reference to the transform driving your player’s camera.