You could set a breakpoint at line 21 for instance. That way the game will stop when it reaches that line and allow you to inspect the properties and variables. It will stop there almost instantly every time because it is set in the update method, but it should allow you to see at least if the values make sense (check if speed is not 0 for instance). Horizontal and vertical will be 0 as you cannot apply input while the game is breaked (and it will break before you can do anything). If the rigidboy is not attached, the GetComponent will return null and the addforce call will crash because you are trying to call a method on something that does not exist so I think that is setup correctly. And just to be sure, you know you have to actually move the ball with the controlls set up for the input axes? (WASD should work).