Nie działa, bo wrzuciłeś zmienną speed do funkcji start. Przez to inne funkcje, w tym Update() jej nie widzą.
Poza tym, error wyskakuje ci dlatego, że skorzystałeś z deklaracji public w funkcji. Nie można tego robić. Deklaracje public/private/protected używasz tylko do atrybutów klasy - czyli tych zmiennych, które należą do klasy, ale nie należą do żadnej funkcji.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Poruszanie : MonoBehaviour
{
public int speed = 36;
void Update()
{
if (Input.GetKey("w"))
transform.Translate(0, 0, speed * Time.deltaTime);
if (Input.GetKey("s"))
transform.Translate(0, 0, -speed * Time.deltaTime);
if (Input.GetKey("a"))
transform.Translate(-speed * Time.deltaTime, 0, 0);
if (Input.GetKey("d"))
transform.Translate(speed * Time.deltaTime, 0, 0);
}
}