public class basicBulletScript : MonoBehaviour
{
    private Rigidbody2D rb2d;
    public float speed;
    float startTime;
    float duration;
    float firstGravityScale;

    public float maxSpeed = 100f; //example number
    
    void Start()
    {
        rb2d = GetComponent<Rigidbody2D>();
        
        startTime = Time.time;
        duration = 0.2f;
    }

    // Update is called once per frame
    void Update()
    {
        firstGravityScale = rb2d.gravityScale;
    }

    private void FixedUpdate()
    {
        if(rb2d.linearVelocityX < maxSpeed)
        {
            rb2d.AddForce(transform.right * speed);
        }
        else
        {
//clamp or limit somehow????
        }

        if (rb2d.gravityScale != 0)
        {
            rb2d.gravityScale = (Mathf.SmoothStep(firstGravityScale, 0, ((Time.time - startTime) / duration)));
        }
        

    }
}