Error when trying to make an enemy.

I am a beginner in unity so I apologize in advance for any stupid questions.

When I tried to make an enemy that would follow in unity it would only work with rigidbody 2d as one of the components, but I have a 3d game and it wasn’t working very well so I tried to switch it out with regular rigidbody but for some reason it says this:
Assets/Enemy.cs(23,17): error CS0029: Cannot implicitly convert type ‘float’ to ‘UnityEngine.Quaternion’

Here is the script:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Enemy : MonoBehaviour
{
    public Transform player;
    public float moveSpeed = 10f;
    private Rigidbody rb;
    private Vector2 movement;

    // Start is called before the first frame update
    void Start()
    {
        rb = this.GetComponent<Rigidbody>();
    }

    // Update is called once per frame
    void Update()
    {
        Vector2 direction = player.position - transform.position;
        float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
        rb.rotation = angle;
        direction.Normalize();
        movement = direction;
    }
    private void FixedUpdate()
    {
        moveCharacter(movement);
    }
    void moveCharacter(Vector2 direction)
    {
        rb.MovePosition((Vector2)transform.position + (direction * moveSpeed * Time.deltaTime));
    }
}

Let me offer you this to get started:

http://plbm.com/?p=263

Let me know if that guides you to a solution.

Not really…

I’ve made some updates to the text, such as guiding you to identifying what types you’re trying to assign.

Are you able to at least identify what type you are attempting to assign?

Of the line in question, do you understand the purpose of it or did this script come from somewhere else?

I ask this because here we pretty much assume you are interested in learning how to do simple scripting in Unity, which is the entire point of this forum.

Never mind! I fixed it.