Что делать при предупреждении - The local function 'CheckGround' is declared but never used?

Решил изучить юнити по уроку, а точнее по курсу "Юнити - 2D платформер с нуля".

Написал такой код:

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


public class Player : MonoBehaviour
{
public Transform groundChek;
Rigidbody2D rb;
public float Speed;
public float jumpHeight;
bool isGrounded;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}


void Update()
{
Flip();
CheckGround();
}
void FixedUpdate()
{
rb.velocity = new Vector2(Input.GetAxis("Horizontal") * Speed, rb.velocity.y);
if(Input.GetKeyDown(KeyCode.Space) && isGrounded) {
rb.AddForce(transform.up * jumpHeight, ForceMode2D.Impulse);
}
}

void Flip () {
if(Input.GetAxis("Horizontal") > 0) {
transform.localRotation = Quaternion.Euler(0, 0, 0);
if(Input.GetAxis("Horizontal") < 0) {
transform.localRotation = Quaternion.Euler(0, 180, 0);
}
}
void CheckGround () {

Collider2D[] colliders = Physics2D.OverlapCircleAll(groundCheck.posithion, 0.2f);
isGrounded = colliders.Length > 1;
}

}
}

Ответы (2 шт):

Автор решения: Gilly

Вы сделали локальный метод Check Ground, но нигде в коде или вне кода(хотя локальные переменные из вне кода вы не сможете использывать) его не используете

→ Ссылка
Автор решения: BattleCrow
using UnityEngine;


public class Player : MonoBehaviour
{
    [SerializeField] private Transform _groundCheckTransform;
    [SerializeField] private float _speed;
    [SerializeField] private float _jumpHeight;

    private Rigidbody2D _rb;
    private bool _isGrounded;

    private void Start()
    {
        _rb = gameObject.GetComponent<Rigidbody2D>();
    }
    
    private void Update()
    {
        Flip();
        CheckGround();
    }

    private void FixedUpdate()
    {
        _rb.velocity = new Vector2(Input.GetAxis("Horizontal") * _speed, _rb.velocity.y);
        if(Input.GetKeyDown(KeyCode.Space) && _isGrounded) 
        {
            _rb.AddForce(transform.up * _jumpHeight, ForceMode2D.Impulse);
        }
    }

    private void Flip () 
    {
        if(Input.GetAxis("Horizontal") > 0) 
        {
            transform.localRotation = Quaternion.Euler(0, 0, 0);
            if(Input.GetAxis("Horizontal") < 0) 
            {
                transform.localRotation = Quaternion.Euler(0, 180, 0);
            }
        }
    }  

    private void CheckGround() 
    {    
        Collider2D[] colliders = Physics2D.OverlapCircleAll(_groundCheckTransform.position, 0.2f);
        _isGrounded = colliders.Length > 1;
    }    
}

Проблема была в одной неправильно поставленной точке с запятой и фигурной скобке. Но в тоже время прощу обратить внимание на то, как я переписал ваш код. У вашего кода были явные проблемы с внешним видом :)

И лично от себя добавлю: я конечно не посягаюсь на курс Unity3DSchool, но в плане качества кода (да и в целом) он не очень хорош ;)

→ Ссылка