- Home /
Editor vs Build: OnTriggerStay & Physics Issues
I have a static kinematic trigger capsule collider that, when the player (bounds defined by a CharacterController) stays inside it, it deals damage using this code:
private void OnTriggerStay(Collider other)
{
if (state == TubeState.Firing && other.gameObject.tag == "Player")
{
other.GetComponent<PlayerHealth>().TakeDamage(damagePerSecond * Time.fixedDeltaTime, gameObject);
}
}
When the player is no longer inside the Collider however, this code keeps getting called as if they stayed inside it. Even stranger, this only happens in a non-editor build (build & run or just build), and it doesn't always reproduce.
As well, Raycasting (which I do in an Update() step) tends to cause issues as well in non-editor builds, so it's definitely something weird with the physics system. The Raycasting I'm doing is every frame check 10 meters in front of the player for the first object that isn't a trigger collider within a certain layer mask (using RaycastAll and some loops), code available on request, I excluded it because it's bulky and may not be relevant.
All my research has suggested it's a time-based issue, but I can't think of where that would come up beyond the code I posted above. It might also be related to sleeping rigidbodies but again, I'm not sure how that would impact what I'm doing. Could the objects be going to sleep and messing with the OnTriggerStay and Raycasting methods?
I use these time and physics settings: Fixed Time Step: 0.02ms Sleep Velocity: 0.15 Sleep Angular Velocity: 0.14
Edit/Update: I've very rarely had this appear in the editor build as well, still can't repro it, far more common in the non editor build, which may imply that this issue is tied to higher frame rates (~30 fps in editor, ~60-90 in build)
Your answer
Follow this Question
Related Questions
Returning list of Triangles, Vertices or Points by raycasting through a mesh (iPhone) 1 Answer
Physics.Raycast not checking layermask properly? 1 Answer
Raycasts hit triggers disabled - force collision for specific raycast 1 Answer
Don't allow raycasts to go through colliders? 3 Answers
Raycast not working on build 0 Answers