- Home /
OnTriggerExit2D not working on android (but works in editor)
Hi,
I'm having issues with colliders on an android device that do not occur in the editor itself. I basically have a circle that spins around, with different generated obstacles on it:
The yellow ball is stationary, while the circle rotates around the centre. The collider selected in the image above detects trigger colliders attatched to each of those four obstacles in order to destroy those ones and generate new obstacles using this script:
using UnityEngine;
using System.Collections;
public class ReloadPart : MonoBehaviour {
public GameObject[] parts;
public GameObject circle;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnTriggerExit2D(Collider2D col)
{
if(col.tag == "Part")
{
GameObject aparent = col.transform.parent.gameObject;
StartCoroutine (spawn (aparent));
Destroy (col.gameObject);
}
}
public IEnumerator spawn(GameObject parent)
{
yield return new WaitForSeconds (2);
GameObject newPart = Instantiate(parts[Random.Range(0,parts.Length)], parent.transform.position, Quaternion.identity) as GameObject;
newPart.transform.SetParent(parent.transform);
//newPart.transform.localScale = newPart.GetComponent<Part>().scale;
newPart.GetComponent<Part>().circle = circle;
newPart.GetComponent<Part>().Rotate();
foreach(Gem gem in parent.GetComponentsInChildren<Gem>())
{
gem.Reload();
}
}
}
This works fine in the editor. However, upon creating an APK, it does not function on android devices. The obstacles don't get destroyed and instead spin round again without being changed. Somewhere along the line the collider isn't functioning as it should. I suspect it may be a Rigidbody2D issue, but I don't know what. Does anyone know how I can fix this issue?
Here is a video of how the game works to help with my explanation:
Any help is greatly appreciated, thanks.
if the rotation is neither performed by either adding torque or changing angular velocity in FixedUpdate, then it's more of an issue of the editor because there shouldn't be any collisions then.
Your answer
Follow this Question
Related Questions
How do I get collisions between Tilemap Collider 2d and a Kinematic Rigidbody 2d? 1 Answer
HOW TO CALLBACK COLLIDER WITH NAME? 2 Answers
Tilemap collider - character passes through wall 1 Answer
(Beginner) Adding a 2D Collider Randomly moves Player Off-screen when Game Starts!! 1 Answer
Best practice for checking which object has collided. 2 Answers