Community Q&A

Where Wwise users help each other out!

Audiokinetic's Community Q&A is the forum where Wwise users ask and answer questions within the Wwise community. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

Unity script for finding component duplicates

+2 votes

Hi all.

Here's a quick script you can use for finding game objects with duplicated scripts, instead of having to go manually through all of them. 
The example is currently looking for AkSurfaceReflector scripts, but you can replace that with any other type of component. 


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

public class FindAkSurfaceReflectorDuplicates : MonoBehaviour
{
    public List<GameObject> akSurfComps = new List<GameObject>();

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            AkSurfaceReflector[] objects = GameObject.FindObjectsOfType<AkSurfaceReflector>();
            print("Total Amount of AkSurfaceReflectors: "+objects.Length);
            for (int i = 0; i<objects.Length; i++)
            {
                if (akSurfComps.Contains(objects[i].gameObject))
                {
                    Debug.Log(objects[i].gameObject.name + " has duplicated AkSurfaceReflector Scripts.", objects[i].gameObject);
                }
                else {
                    akSurfComps.Add(objects[i].gameObject);
                }
            }
            if (akSurfComps.Count < 1) {
                print("You have no objects with duplicated AkSurfaceReflector scripts.");
            }
        }  
    }
}


The game object name will be shown in the console on pressing 1 on your keyboard, and you can click on it in the console to highlight it in the Hierarchy.

asked Mar 3 in General Discussion by Mads Maretty S. (Audiokinetic) (12,300 points)

Please sign-in or register to answer this question.

...