Is time-based update necessary in FixedUpdate?

Hi everyone,
given the simple control script

using UnityEngine;
using System.Collections;

public class PlayerMovement : MonoBehaviour {
	private float x;
	private float z;
	public float speed=100f;

	// Use this for initialization
	void Start () {
	// Update is called once per frame
	void FixedUpdate () {
		x= Input.GetAxis("Horizontal")*speed*Time.deltaTime;
		z= Input.GetAxis("Vertical")*speed*Time.deltaTime;
		rigidbody.AddForce (x,0,z);

I wonder if multiplying by Time.deltaTime is really necessary when applying forces in FixedUpdate. Shouldn’t FixedUpdate already be time-based and not frame based?

Can you clarify this point for me? And plus, do you have any advice for how to improve my code?

Thank you!

It’s not strictly necessary, but if you don’t do it your speed needs to be in units per fixed frame, rather than units per second. I personally always scale by time so my units can be expressed per second. Also, if you don’t scale by time and ever decide to change the fixed update rate then you have to go and modify all your rates if you want everything to continue moving the same speed.