- Home /
Audio.PlayOneShot Doesn't Work
I've tried litterally everything. I NEED HELP. All I want Unity to do is play a 'Chop' sound when the tree is clicked. using UnityEngine; using System.Collections;
public class CutTree : MonoBehaviour
{
public AudioClip treeChop;
void Start ()
{
}
void OnMouseDown()
{
audio.PlayOneShot(treeChop);
}
}
This doesn't work. No sound is played. PLEASE HELP
Answer by HarshadK · Dec 23, 2014 at 02:16 PM
There are a lot of possible scenarios. Some of these are:
Your system volume is muted or set to a very low volume.
Your Scene Window sound toggle is turned off (The little button between Light button and Efects drop down on Scene window bar).
Your sound clip is a 3D sound and is far away from camera to be audible to the Audio Listener.
There is no Audio Component assigned to your game object on which this script resides (Should generate an error).
There is no Audio Clip assigned to treeChop variable (Should generate an error).
OnMouseDown is not working because there is no collider on your tree. (Check if there is collider on your tree and also place a Debug.Log inside your if statement to check it actually works).
And there might be something else missing than these reasons but these are common ones. Let us know if the issue is resolved by any of these or not.
I am so stubborn sometimes. It was simply a matter of having no collider. Thanks!
Answer by jandd661 · Sep 25, 2021 at 04:09 PM
Other reason includes: Destroying the object on the same frame (as in my problem);
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Play audio.PlayOneShot() once in an Update() function 2 Answers
Distribute terrain in zones 3 Answers
Flip over an object (smooth transition) 3 Answers
Array index is out of range - Why? 2 Answers