You’re asking for reverse kinematic control of an arm. That’s implied by your interest to position the hand, which then provides, through a “reverse” calculation, the angle of the elbow and upper arm (possibly involving the wrist joint).
Animations are intended to create a small library of pre-calculated movements that are blended at runtime, but your description doesn’t actually qualify. If you had a library of motions you wanted to blend, this would work. What won’t work, with animation, is control of the hand to any candidate location (the arm can only extend so far).
It’s not all bad news, though, so don’t be discouraged by what I’m about to tell you. I just finished a project on a robotic arm with a similar requirement, control of the position of the “hand” by basically 2d coordinate (on a 3D robot, this was limited to moving the hand at a particular height from the floor, and a given distance from the bot’s center, at a given angle for the “hand”, which is natural for control where the only inputs to the system are the angles of the shoulder, elbow and wrist.
That said, you’re in for quite a journey. Your aim is somewhat ambitious if you’re new to programming, to math, and to Unity. In my first experiment on this I was tempted to use the HingeJoint. All the required controls are there once one calculates the required angles for a given position, but the joint just doesn’t work. One joint can, but PhysX, the engine inside Unity for physics, can’t “cascade” the joints, which is to say when the shoulder moves the elbow, the elbow malfunctions (as does the wrist). PhysX has a newer version offering articulated joints which do work correctly, but are not available in Unity (or any other engine I know, it has to be accessed in PhysX directly at present).
For my own solution I simply made empty GameObjects take the position of the joints, carefully placing the artwork to rotate based on the empty parent GameObject’s orientation (transform.rotation in particular using Euler angles), and that worked up to the point of solving collisions, which took only a little extra effort. This means the arm is manipulated “directly” kinematically, ignoring the physics engine. The results were worth the effort in my case, but I’m an old hand at this. Although Unity is new to me, I’ve worked on various rendering and gaming engines, physics engines, and in C++ and C# for a long time, in topics that range from engineering and manufacturing to film post production. My “robotic arm” work was for a robotics club, an internal project associated with my son’s high school.
What you require is a bit of trigonometry. Don’t fear, though, the math is readily referenced off the 'net, and everyone with use of their own hands has solved this intuitively before they are a year old. The brain is designed to do this. You’ll just have to familiarize yourself with the formalities as expressed in math.
The main plan follows:
While you never think about it, when you aim your own hand to grasp an object, you project an imaginary line from your shoulder to the target. You’ve done this so long, from a time before you could form complex memories, that you don’t even think about it. That imaginary line forms a triangle including your elbow. For any given distance from your shoulder to your hand, there’s only one angle the elbow can assume. You calculate that angle using the law of cosines, which gives the angles when you know the sides of a triangle. The upper and forearm are given lengths, so the imaginary line becomes the third. You need the angle at the elbow first.
Next, you need the angle for the shoulder. This is a slight bit more complex. The law of cosines will give you the interior angle of the imaginary triangle, but that is not the angle the shoulder must assume. It is merely the angle from the imaginary line to the upper arm, but as you contemplate your arm aiming at a target you’ll realize you can rotate your upper arm to any angle within a certain range to elevate the hand at the previously calculated distance from the shoulder to align with any target. What you require is to calculate the angle of the upper arm relative to the body’s orientation, which we assume for the moment is aligned with the world’s axis (probably Y).
To do that, you need the world’s coordinate version of the imaginary line’s angle relative to the world axis. That angle, plus the interior angle of the shoulder to the imaginary line, produces the world coordinate rotation of the upper arm. With that, the hand is at the given target.
Use those angles to position the shoulder angle and the elbow angle, and all that’s left is to consider the wrist. Once you get that far, you should be able to figure out all that is required.
As you can see, any more detail becomes a discussion of trigonometry in C#, and a bit of programming with Quaternions and Euler angles. It could take a couple of chapters in a book.
Incidentally, I had to provide this same basic instruction to the high school students in order to make the arm of the robots they built do this exact same thing, fashioned in the context of a microcontroller using C, so they could compete with those robots in contests. I imagine the look on your own face resembles their expression as I explained what was ahead of them. In a matter of a couple of months, and a lot of help with C, they managed to come to believe that they had, in fact, been “trigonometric geniuses” since before they were a year old. They left the club last year having learned more about why they suffered through algebra and geometry (where modern high schools drive by the subject of trigonometry) than they ever would from the required math classes.