Gravity not working because of moventscript

Hey
there is a problem with my game. Its a unity physics / scripting problem. My player falls really slow. Its because of the script but how can i move my player then?

{
    public GameObject playerlight;
    public GameObject playerdark;
    public Joystick PlayerMovementJoystick;
    public Rigidbody2D playerDarkRigidbody;
    public Rigidbody2D playerLightRigidbody;
    public float movespeed;
    public Transform playerLightpos;
    public Transform playerDarkpos;
    public float jumpforce;

    private void Start()
    {
        playerlight = GameObject.Find("PlayerLight");
        playerdark = GameObject.Find("PlayerDark");
    }

    public void SwitchPlayerS()
    {
    }

    private void Update()
    {   if(GamaDataManagerScript.LightOn == true)
        {
            Vector3 playermovementvec = new Vector3(PlayerMovementJoystick.Horizontal * Time.deltaTime * movespeed, 0, 0);
            playerLightRigidbody.MovePosition(playermovementvec + playerLightpos.position);
        }
        else
        {
            Vector3 playermovementvecdark = new Vector3(PlayerMovementJoystick.Horizontal * Time.deltaTime * movespeed, 0, 0);
            playerDarkRigidbody.MovePosition(playermovementvecdark + playerDarkpos.position);
        }
    }

    public void Jump()
    {
        if(GamaDataManagerScript.LightOn == true)
        {
            playerLightRigidbody.velocity.Set(playerLightRigidbody.velocity.x, playerLightRigidbody.velocity.y + jumpforce);
        }
    }
}

Add a gravity (+ gravity * Time.deltaTime) to your playermovement vector.

Note that its better to move rigidbodies in the FixedUpdate to avoid potential issues.

Isn´t time.deltaTime the same?
Thanks

Rigidbodies are moved using the physics system. The physics update always takes place immediately following FixedUpdate.

Update on the other hand is bound to your graphics frame rate, which can be called 0 times or many times between physics updates.

So FixedUpdate exists so you have a place to put any code which uses physics, and ensure it is called exactly 1 time and immediately before the physics update. All the physics related movement stuff is designed with this in mind, so you shouldn’t be surprised if you get some unexpected results calling it elsewhere. I doubt Unity QA even bothers regression testing the physics related stuff in Update prior to release.