- Home /
 
 
               Question by 
               Viwo04 · May 08 at 08:29 PM · 
                unity 2dsoundssound effects  
              
 
              I can't add a second soundtrack in unity
I can't add a second soundtrack in unity. When I put in the second soundtrack, it immediately pops up the restart button in the game and when I delete it, the error disappears . why is this happening? to my script:
     using UnityEngine;
     
     public class KnifeScript : MonoBehaviour
     {
     
         [SerializeField]
         private Vector2 throwForce;
     
         //knife shouldn't be controlled by the player when it's inactive 
         //(i.e. it already hit the log / another knife)
         private bool isActive = true;
     
         //for controlling physics
         private Rigidbody2D rb;
         //the collider attached to Knife
         private BoxCollider2D knifeCollider;
     
         private void Awake()
         {
             rb = GetComponent<Rigidbody2D>();
             knifeCollider = GetComponent<BoxCollider2D>();
         }
     
         void Update()
         {
             //this method of detecting input also works for touch
             if (Input.GetMouseButtonDown(0) && isActive)
             {
                 //"throwing" the knife
                 rb.AddForce(throwForce, ForceMode2D.Impulse);
                 //once the knife isn't stationary, we can apply gravity (it will not automatically fall down)
                 rb.gravityScale = 1;
                 //Decrement number of available knives
                 GameController.Instance.GameUI.DecrementDisplayedKnifeCount();
             }
         }
         public AudioClip impact;
         public AudioClip impact2;
         private void OnCollisionEnter2D(Collision2D collision)
         {
             //we don't even want to detect collisions when the knife isn't active
             if (!isActive)
                 return;
     
             //if the knife happens to be active (1st collision), deactivate it
             isActive = false;
     
             //collision with a log
             if (collision.collider.tag == "Log")
             {
                 //play the particle effect on collision,
                 //you don't always have to store the component in a field...
                 AudioSource.PlayClipAtPoint(impact, transform.position);
                 GetComponent<ParticleSystem>().Play();
     
                 //stop the knife
                 rb.velocity = new Vector2(0, 0);
                 //this will automatically inherit rotation of the new parent (log)
                 rb.bodyType = RigidbodyType2D.Kinematic;
                 transform.SetParent(collision.collider.transform);
     
                 //move the collider away from the blade which is stuck in the log
                 knifeCollider.offset = new Vector2(knifeCollider.offset.x, -0.4f);
                 knifeCollider.size = new Vector2(knifeCollider.size.x, 1.2f);
     
                 //Spawn another knife
                 GameController.Instance.OnSuccessfulKnifeHit();
             }
             //collision with another knife
             else if (collision.collider.tag == "Knife")
              AudioSource.PlayClipAtPoint(impact2, transform.position); 
     
             {
                 //start rapidly moving downwards
                 rb.velocity = new Vector2(rb.velocity.x, -2);
                 //Game Over
                 GameController.Instance.StartGameOverSequence(false);
             }
         }
     }
 
               mainly it's about:
  AudioSource.PlayClipAtPoint(impact2, transform.position);
 
              
               Comment
              
 
               
              Your answer
 
             Follow this Question
Related Questions
playclipatpoint set default 2d (default audio is 3d) 0 Answers
Problem with sound 0 Answers
Making Enemy Audio quieter 1 Answer
The problem is that when I copy an enemy mob, I lose the sounds of this enemy 1 Answer
3D sound is not working. 0 Answers