AHHHH i figured it out, ok, so the problem is, i am not sure if its due to doing C# and using the scripts instead of GDScript, but once you make a change on the cs C# script, you must go to Mono which is located where the bottom is, where it says "Output", then "Debugger", then "audio" etc., and there you should see "Mono", click on it, then go to the button that says "Build Project", once you did that, after any changes you made will finally reflect it.
I really hope someone add this so the documentation of Godot for C# portion of it.
Also 1 last thing, there seems to be an issue on the GODOT documentation page:
https://docs.godotengine.org/en/3.0/tutorials/physics/using_kinematic_body_2d.html
specifically the code that says :
using Godot;
using System;
public class KBExample : KinematicBody2D
{
public int Speed = 250;
private Vector2 _velocity = new Vector2();
public void getInput()
{
// Detect up/down/left/right keystate and only move when pressed
_velocity = new Vector2();
if (Input.IsActionPressed("ui_right"))
{
_velocity.x += 1;
}
if (Input.IsActionPressed("ui_left"))
{
_velocity.x -= 1;
}
if (Input.IsActionPressed("ui_down"))
{
_velocity.y += 1;
}
if (Input.IsActionPressed("ui_up"))
{
_velocity.y -= 1;
}
}
public override void _PhysicsProcess(float delta)
{
getInput();
MoveAndCollide(velocity * delta);
}
}
the problem is line:
MoveAndCollide(velocity * delta);
it says velocity... shouldnt that be _velocity? when i copy and run it, i get error message:
"velocity doesn't exist"