Ошибка EndLayoutGroup: BeginLayoutGroup must be called first. UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
Вот код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Weapon : MonoBehaviour
{
public float damage = 30;
public float fireRate = 1;
public float range = 20;
public GameObject muzzleFlash;
public AudioClip shotSFX;
public AudioSource _audioSource;
public Camera_cam;
void Start()
{
}
void Update()
{
if (Input.GetButtonDown("Fire1")) ;
{
Shoot();
}
}
void Shoot()
{
RaycastHit hit;
if (Physics.Raycast(_cam.transform.position, _cam.transform.forward, out hit, range))
{
Debug.Log("Попадание");
}
}
}
Ошибка возникает в классе UnityEngine.GUIUtility.
А у вас в вопросе класс Weapon, он тут вроде бы ни при чём.
Мне только вот это не нравится:
if (Input.GetButtonDown("Fire1")) ;
{
Shoot();
}
При соблюдении условия (нажатие кнопки Fire1) будет выполнен пустой оператор "точка с запятой". А затем безусловно произойдет вызов метода Shoot(). Наверное, точка с запятой лишняя в строчке с if.