Ошибка CS0122 'Bullet.Direction" недоступен из-за его уровня защиты

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

public class Hero : Unit
{
    [SerializeField]
    private int lives = 5;
    [SerializeField]
    private float speed = 3.0F;
    [SerializeField]
    private float jumpForce = 15.0F;

    private bool isGrounded = false;

    private Bullet bullet;

    private CharState State
    {
       get { return (CharState)animator.GetInteger("State"); }
       set { animator.SetInteger("State", (int) value); }
    }

    new private Rigidbody2D rigidbody;
    private Animator animator;
    private SpriteRenderer sprite;

    private void Awake()
    {
        rigidbody = GetComponent<Rigidbody2D>();
        animator = GetComponent<Animator>();
        sprite = GetComponentInChildren<SpriteRenderer>();

        bullet = Resources.Load<Bullet>("Bullet");
    }

    private void FixedUpdate()
    {
        CheckGround();
    }

    private void Update()
    {
        if (isGrounded) State = CharState.Idle;

        if (Input.GetButtonDown("Fire1")) Shoot(); 
        if (Input.GetButton("Horizontal")) Run();
        if (isGrounded && Input.GetButtonDown("Jump")) Jump();
    }

    private void Run()
    {
        Vector3 direction = transform.right * Input.GetAxis("Horizontal");

        transform.position = Vector3.MoveTowards(transform.position, transform.position + direction, speed * Time.deltaTime);

        sprite.flipX = direction.x < 0.0F;

       if (isGrounded) State = CharState.Run;
    }


    private void Jump()
    {
        State = CharState.Jump;

        rigidbody.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
    }

    private void Shoot()
    {
        Vector3 position = transform.position;
        position.y += 0.8F;
        Bullet newBullet = Instantiate(bullet, position, bullet.transform.rotation) as Bullet;

        newBullet.Direction = newBullet.transform.right * (sprite.flipX ? -1.0F : 1.0F);
    }

    private void CheckGround()
    {
        Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position, 0.5F);

        isGrounded = colliders.Length > 1;

        if (!isGrounded) State = CharState.Jump;
    }
}

public enum CharState
{
    Idle,
    Run,
    Jump,
}

Где именно ошибка? Внутри класса можно к его private полям обращаться. Если из других классов, то должно быть public.

Вот именно что я не знаю где ошибка, сижу весь день, то это меняю, то другое, вообще ничего не получается

Так а в какой строке показывает ошибку?

я делаю на unity, а код пишу в visual studio, редактор не видит ошибок, а unity не дает пройти

Так в юнити же должно быть написано в каком файле и в какой строке.

Сейчас закину

А, так ошибка похоже о том, что тут

попытка обратиться к полю Direction, которое видимо не public в классе Bullet.

я кажется и так пробовал, сейчас на всякий, проверю

Может я как то не так понял, но не получается

Так а в классе Bullet что?

так подождите, я могу скинуть еще два скрипта, которые связаны

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

public class Bullet : MonoBehaviour
{
   private float speed = 10.0F;
   private Vector3 direction;
    private Vector3 Direction { set { direction = value; } }

   private SpriteRenderer sprite;

   private void Awake()
   {
       sprite = GetComponentInChildren <SpriteRenderer> ();
   }

   private void start()
   {
       Destroy(gameObject, 1.4F);
   }

   private void Update()
   {
      transform.position = Vector3.MoveTowards(transform.position, transform.position + direction, speed * Time.deltaTime);
   }
}

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

public class Unit : MonoBehaviour
{
   public virtual void ReceiveDamage()
   {
       Die();
   }

   public virtual void Die()
   {
       Destroy(gameObject);
   }
}

Так вот об этом и речь.

капец, я так долго мучался, СПАСИБО ВАМ БОЛЬШОЕ!

Прости пожалуйста, что надоедаю, можешь помочь с удалением пулей, а то код я прописал, но он что-то не работает

Может быть из-за опечатки в имени (Start).