I’ve been looking at the controls in BabylonJS and so far I’m not a fan. The engine does a lot for you, which is good, but it also hides a lot of the details behind poor documentation, which is not good. There’s a whole action manager system that seems very confusing at the moment. If I try to just put in a good old fashioned addEventListener for mousedown or mouseup I get very weird results. It will pick up left mouse clicks if the right mouse is down, but not otherwise, which is frustrating.
So, I’m going to punt. The controls are good enough for now and I’m going to move onto other things. Eventually I may not even use BabylonJS. I would actually much prefer to use THREE but as it’s not a game engine there are some features it just doesn’t have. Or maybe I’ll eventually figure out BabylonJS well enough to use it correctly, but I have definitely found myself frustrated by things in BabylonJS not working the way I want to and the root cause seems to be hidden from me. That sounds like some kind of conspiracy, but it’s not that. The engine just tries to do a lot for you and if you don’t use it correctly it doesn’t throw an error, it just doesn’t do what you want. I’ll come up with my next steps and post them here soon.