- Home /
Is it okay if I use two similar components (AudioSource) in the same GameObject?
Sorry for such a dumb question, but I really doubt it. I want someone to clarify this, because I have a horrendous history with memory loss, and I think one of my losses were due to two similar components in the same GameObject.,I am 90% sure the answer is straightforward, but still not 10% sure. It would be great if I could, but I have a horrendous history with memory loss and related issues. I think I remember I tried doing a similar thing before, but it was too slow.
Sorry for such a dumb question!
having 2 of the same component will not cause memory issues unless they are scripts running 1000s of loops or something else really heavy. Some components can you can only add a single instance, it won't let you add it, if it does let you then it is ok.
Answer by FlaSh-G · Sep 11, 2021 at 01:31 PM
Some components won't allow this in the first place (like Rigidbody) because it wouldn't make any sense, but all other components are fine to use as often as you like. Whether you put two components on the same GO or on two different ones has no impact on performance. Possibly aside from the fact that all GOs and all components have to be deserialized (=loaded) when they're spawned, like on scene start. So if you slap a thousand components in your scene, might take longer than having a single component.
One thing aside from performance that should be noted is that it's a bit more of a hassle to drag the correct component into a serialized field of another component when there's multiple components of the same type present on the same GameObject.
I can overcome that hassle by na$$anonymous$$g each component in code. Also, I thought of asking this because I wanted to play many sound clips at once. I tried to look for solutions, but nothing helped. I had to use two AudioSources to play each, but since none of the answers mentioned my idea, it was dubious.