How can Player or Enemy Generate Force to Push Rigidbodies?

Simply walking by an rigidbody will push it if the rigidbody mass is surpassable by the walking force of the character. (or the player in an fps)

But what if our player/character wants to push a very heavy object that he can’t just push by walking through it.

Like for example a car.
I want the player to GENERATE FORCE by repeately pusshing some button or repeately moving the mouse up and down or something to simulate real life creating of muscle force.

But that means i would have to tell the OBJECT THAT I WANT TO PUSH that i’m generating force and my force is increasing so it should start reacting to it by roling over or something matching the generated force.

Is thta poosible?

to recap:
=====> Can the player or Character geenerate extra force(more than just their mass) and the Rigidbodies should respond to it.

Let’s start by simply getting the player to push rigidbodies correctly. If you need help with generating force by button press, ask this as a separate question. Asking one question at a time will keep your question from being closed or being downvoted.

using UnityEngine;
using System.Collections;

public class PushRigidbodies : MonoBehaviour 
{
	Rigidbody body;
	Vector3 pushDir;
	float power = 2.0f;
	float minPower = 0.5f;
	float maxPower = 3.0f;
	
	void OnControllerColliderHit(ControllerColliderHit hit)
	{
		if(hit.rigidbody)
			body = hit.collider.attachedRigidbody;
		
		if (body == null || body.isKinematic)
			return;
        
        if (hit.moveDirection.y < -0.3F)
            return;
		
		if(body != null)
		{
			pushDir = new Vector3(hit.moveDirection.x, 0, hit.moveDirection.z);
			body.velocity = pushDir * power;
		}
	}
}