The tutorials show examples in JS, which is fine, but I prefer C#. To do something from scratch(And I’ll use the camera movement as an example), first you have to create a new MonoBehaviour, that’s the base class you are talking about. MonoBehaviour is deeply integrated with Unity’s system and represents a single behavior of an object, and since it inherits from MonoBehaviour it will catch all the events in Unity like Update, Start, OnWhatever, OnWhateverElse, etc.
Take any game object and attach multiple behaviors to it and it will display all of those behaviors. Build out scripts to capitalize on the parent/child relationship the game objects have too. For instance, you could have a tank body game object with special behaviors attached to it for handling tank body stuff, but he would have a child transform which is the turret, the turret is still a different game object with its own special behaviors attached for turret specific stuff, only it’s underneath the tank body and will inherently follow the tank body when it moves around the game world and can easily send data to its parent, the tank body, and the relationship could be flipped if you wanted to, that’s up to you. Afterwards you turn the two into a prefab and then you can have 10583946340 tanks just like it instanced throughout the scene.
I come from a C++ background, but have grown into a wide variety of other languages and Unity was a little alien to me at first, but the key is to really understand the concept of a “MonoBehaviour.” You don’t really need to learn all new commands, but you should have a working knowledge of C# and 3d mathematics or some things might be pretty confusing, but the rest about Unity is just punching the forums with searches and the unity scripting reference which is infinitely useful when you know what you’re looking for:
A simple C# monobehaviour for a camera would have a public Transform Target, and in the Update() or LateUpdate() would use transform.LookAt(Target). You could attach this behavior to the existing camera in the scene to get your camera looking at the Target, but it’s important to understand this is just a look at behavior, you could attach it to any game object and it will display that behavior, that’s not very meaningful on its own, but attach that behavior to an object with a camera and you get a look at camera.
Character movement is best achieved with CharacterControllers, this is an existing behavior that comes with Unity and interfaces with the terrain engine and other colliders, it comes standard with SimpleMove and Move functionality allowing you to easily get a game object responding to the rest of the game world. All you would have to do is create a behavior for reading input and applying your calculations through the CharacterController.
I’m ranting, sorry, but your question was a little broad.