Ты в целом контекста не дал по вопросу, это что угодно может быть
Если траблы в AudioSource:
Попробуй перевести AudioSource в local variable, по типу
AudioSource my_AudioSource = hGFX.GetComponent<AudioSource>();
Если траблы в сценах:
То в целом не пиши "Game" и т.д. как быдло, а заменяй на:
SceneManager.LoadScene(1); // Game
SceneManager.LoadScene(2); // Menu
И так далее.
Тебя за такой нэйминг даже в самой собачей конторе обоссут (по себе знаю)
Ну и да, всё равно в инспекторе перепроверь чтобы вызывался корректный метод.
Итоговый результат должен выглядеть как:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class PlayButtonScript : MonoBehaviour
{
public GameObject hGFX;
void OnMouseEnter()
{
AudioSource my_AudioSource = hGFX.GetComponent<AudioSource>(
my_AudioSource.Play();
}
public void ChangeScene()
{
SceneManager.LoadScene(X); // Название сцены, "X" заменить на номер сцены.
}
}
Скрипт у тебя в целом нормальный. Если не сработает - проблема либо в нумерации сцен, либо в том, что в самом Unity ты что-то где-то не назначил.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class PlayButtonScript : MonoBehaviour
{
public GameObject hGFX;
void OnMouseEnter() {
hGFX.GetComponent<AudioSource>().Play();
}
public void ChangeScene() {
SceneManager.LoadScene("Game");
}
}
Объект hGFX в инспекторе привязан к скрипту. да