Operator '+' cannot be applied to operands of type 'Vector3' and 'float'

Can someone help?

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

public class Walking : Entity
{
    private float speed = 3.5f;
    private Vector3 dir;
    private SpriteRenderer sprite;


    private void Start()
  {
    dir = transform.right;
  }

    private void Updata()
 {
   Move();
 }

    private void Move()
  {
    Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position + transform.up + 0.1f + transform.right * dir.x * 0.7f, 0.1f);

    if (colliders.Length > 1) dir *= -1f;
    transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, Time.deltaTime);
  }


   private void OnCollisionEnter2D(Collision2D collision)
 {
   if (collision.gameObject == Hero.Instance.gameObject)
{
 Hero.Instance.GetDamage();
}
 }
}

Change:

Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position + transform.up + 0.1f + transform.right * dir.x * 0.7f, 0.1f);

To this:

Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position + transform.up + new Vector3(0.1f, 0.1f, 0.1f) + transform.right * dir.x * 0.7f, 0.1f);

If you only want to add the “+ 0.1f” on a specific axis, then just put “0f” in the Vector3.
(for example, if you only want to change the X and Z axis):

Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position + transform.up + new Vector3(0.1f, 0f, 0.1f) + transform.right * dir.x * 0.7f, 0.1f);