AddForce Impulse not moving the object

Hi,
I have a prefab object called “Meteor”, which is instantiated randomly at the right edge of the screen using a coroutine. The meteor is instantiated through another script, named “meteorController”, to prevent clones from instantiating themselves. The script is attached to a gameobject with the same name. After MeteorPrefab is instantiated, I want to give it force towards another object, called “Spaceship”. I’ve tried doing it using AddForce with Impulse as the force mode, but it’s not working: the meteors are instantiated properly but they aren’t moving at all, although no error messages are displayed. The MeteorPrefab’s rigidbody is set to “dynamic” and it has a mass value of 1.
I’m new to #c. maybe something is wrong with my code?
Help would be appreciated.
Thanks

The meteorController script:

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

public class meteorController : MonoBehaviour
{
    public GameObject MeteorPrefab;
    public float timer = 5.0f;
    private Vector2 screenBounds;
    public Transform spaceship;
    public Rigidbody2D rb;
    public float force = 100.0f;

    void Start()
    {
        screenBounds = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height, Camera.main.transform.position.z));
        StartCoroutine(Meteor());
        Debug.Log(screenBounds);
    }



    private void SpawnMeteor()
    {
        GameObject spawn = Instantiate(MeteorPrefab) as GameObject;
        spawn.transform.position = new Vector2(screenBounds.x, Random.Range(-screenBounds.y, screenBounds.y));
        rb = spawn.GetComponent<Rigidbody2D>();
        Vector3 direction = spaceship.position - transform.position;
        float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
        rb.rotation = angle;
        rb.AddForce(spawn.transform.forward * force, ForceMode2D.Impulse);
    }

    IEnumerator Meteor()
    {
        while (true)
        {
            yield return new WaitForSeconds(timer);
            SpawnMeteor();
        }
    }


}

Here’s a screenshot of the MeteorPrefab’s Rigidbody2D component:

Since your game’s in 2D, using a 3D, z-axis vector for movement shouldn’t be able to cause visible movement.

rb.AddForce(spawn.transform.forward * force, ForceMode2D.Impulse);

I wouldn’t know your intended orientation off hand, but using something like Transform.right or .up should be all that’s necessary to apply force in a usable direction:

// For reference, a variation that ignores mass, in case
// you change that value eventually
rb.AddForce(rb.mass * spawn.transform.right * force, ForceMode2D.Impulse);