Hi!
I've been struggling with this issue for a few hours. For my combat system, I have a pool of entities that gets instantiated from a prefab. When a combat attack is triggered by a character, it pulls one of these combat entities out of the pool and sets all of the combat values ie: lifetime, range, speed (if projectile) AND the relevant collision filter. This combat entity is kinematic, so I'm using a triggerevent to watch if it collides with an enemy. The idea is to change the collision filters of the collider at assignment, depending on if it's an attack triggered by an enemy, or by the player character. After the combat entities lifetime has expired, I put it back in the pool, and reset it's collision filter to collide with nothing. The process repeats: attack is triggered -> entity is pulled out of pool -> collision filter is set -> wait for collision events -> lifetime expires -> reset collision filter and return to pool.
if I reset the collision filter at the end of the lifetime, the trigger events don't fire. Or at least they don't fire consistently. They'll still fire every once and a while. If I comment that out, I get the tirgger events every time. I just spent two hours rewriting my systems to ensure update order and ECB playback lines up as expected, and it's still an issue. The collider on the prefab is set to "force unique". Anyone have any ideas?