Mmm yes if you were using the behaviour like that then it's a breaking change. That feels like a bit of a hack to me, it's taking advantage of an edge case not using intended behaviour.
There's a load of ways that come to mind that are based on expected behaviour would still work.
- Change the collision tags so that LOS ignores the monster when it's "invisible".
- Remove the monster class from the custom obstacle list ( custom mode only, and doesn't work for a single instance ).
- Add an instance variable to the monster to say if it's invisible, and filter the results of LOS to Monster against this.
- Pin a "invisibility cloak" ( a solid that's larger than the monster ) to the monster, so that the ray hits that instead ( might interfere with movement behaviours, but collision tags can probably solve this ).
Just tried the 3rd one in the example project and it's super easy. Are many people relying on "Has LOS to ObjectClass" returned false if ObjectClass was an obstacle?