We are living in 2026 right now, where we can do a lot of things programmatically. Garmin Simulator is quite behind and actually my biggest pain in development cycle.
I have time measured my bug fixing today. Out of 4 hours spent on development, 3.5 hours was spent to connecting the real watch back and forth to make sure my app actually works properly. (in simulator it always works).
The simulator just need a few tweaks to be WAY better:
1. Service or MCP to interact with simulator programmatically.
I want to automate tests, that actually do taps or button interactions, to do a lot of UI work. It is repetitive and time consuming to do by hand, and not everything can be covered via standard test suite. I want to make screenshots programmatically so i can know which tests have failed and where.
2. I want more options to run simulator from command line: I have an app that works with accelerometer and gyro and it needs a playback FIT file. I have to manually select it every time i run simulator. It is time consuming and distracting. Let me just run a simulator with a playable FIT file attached. With pre-selected languages. With pre-selected other parameters.
3. i want to see in simulator real device limitations. I have faced multiple times the app runs smoothly on simulator but it runs out of memory on older real hardware.
4. That's a nice bonus, but i want to be able to connect to a real Garmin device from the debugger wirelessly. Taking watch on and off constantly connecting to a computer back and forth to test the motion-related stuff is exhausting. I know it's not for every developer, but we are not only producing millions of watch faces.
5. I won't even mention BLE .requestBond() that is absent from simulator for quite a while now. BLE development is more than a pain.
C'mon, Garmin, you can do better! Or, open source simulator so we can code extra plugins ourselves.