I want to disable or enable collision with object in unity 2d game based on its tag. Lets say I have object with tag "foo1" and objects with tag "foo2". If user choose to collide with objects "foo1" then it should not collide with objects "foo2".
How could I achieve this? I tried this:
void OnCollisionEnter(Object other)
{
if (other.tag == "foo1")
collider.enabled = false;
}
But this is not working for two reasons. First object has to have isTrigger set to true (this could not be set for objects that serves as ground) and if I disable entire collider then object will fall through ground.
I am new to unity and I will study it in more details but I am asking for quick help and maybe idea how to do this?
Instead of doing this via tags, you might want to have a look at layers.
By assigning different objects to different layers, you can set them to either collide with each other, or ignore any potential collisions. You can achieve this at
Edit->Project Settings->Physics
where you can edit the layer collision matrix, to enable or disable collisions between layer elements.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With