Getting smooth 2D movment

Sorry guys , I accidentally double posted

Hi all, how would I fix the following 2D movement script so I have some smooth movement .
I DO NOT want to use the character motor scripts , since they have not worked over the last few hours i’ve tired to get them to work .

// this is just a part of it , but the problem is that translate is causing the unsmooth movement 
void Update()
{
		if(Input.GetAxis("Horizontal")<(-Rate))
		{
		Send.AniCurrent = 0;
			Direc = new Vector3(-1f, 0f, 0f);
			//transform.Translate(0, -Time.deltaTime*RightSpeed, 0);
		//transform.Translate(moveDirection * Time.deltaTime * walkingSpeed);
		
		}
		
		if((Controls.rightx + Input.GetAxis("Horizontal"))==0 ){
			Direc = new Vector3(0f,0f, 0f);
		
			Send.AniCurrent = 2;
		}

		transform.Translate(Direc * Time.deltaTime * RightSpeed);
}

Anyway, I found the answer
use this instead of translate …

rigidbody.velocity = Direc ;
		//transform.Translate(Direc * Time.deltaTime * RightSpeed);