Apple watch unlock not reliable if Mac on 5ghz wifi
I'm on macOS Sierra 10.12.3, iOS 10.12.1, and watchOS 3.1.3 (basically the latest/greatest, all released today). However the problem I'm seeing was also there with macOS 10.12.2, iOS 10.12 and watchOS 3.1.1 so it's not new with today's releases.
What I observed was that very often (typically after my 2015 MacBook had been sleeping for at least a few minutes since last used) auto unlock using my watch almost never worked. I'd wake the Mac typically by opening the lid, I'd get the message that the Mac was trying auto-unlock, and after maybe 10 seconds of watching a spinning cursor I'd get the password prompt. This seems to be a pretty common problem from what I've seen on these forums.
I read up on how auto unlock works. Basically what's going on is that the feature leverages the 2.4ghz wifi chip in the watch to measure the "time of flight" between the watch and Mac. The Mac pings the watch over Bluetooth first, and then the watch and Mac communicate over 2.4ghz wifi directly with each other (not via your router at all because that would defeat the purpose of this) and measure how long these communications take. If the communication is fast enough, the Mac can assume that the watch is physically close enough to safely unlock the Mac.
My home network wifi has two SSIDs, one for 5ghz and the other for 2.4ghz, so I could tell easily which computer uses which. I noticed that when my MacBook was using the 5ghz connection, auto unlock with the watch was very unreliable. However, when I switched the Mac to use 2.4ghz wifi instead, auto unlock became 100% reliable.
I suspect what's going on here is that when you wake the Mac and it's primary network conneciton is over 5ghz, it's not waking up the 2.4ghz radio early enough in the wakeup process (it may be thinking that it doesn't need the 2.4 ghz radio), and as a result the communications with the watch take too long, and login fails. I'm pretty sure this is a regression as I recall that in earlier builds of Sierra (10.12.1?) I didn't have this problem.
It's easy to test this, if you have 2.4 and 5ghz networks with different SSIDs, you can force the Mac to connect to the 2.4ghz one first by dragging the 2.4ghz SSID to an earlier slot than the 5ghz SSID in the network preferences (or just remove the 5ghz SSID entirely and leave only the 2.4ghz one) I'd love to hear if this makes anyone else's auto unlock with the watch work more reliably. While using 2.4ghz wifi on the Mac lets this feature work, it's really limiting bandwidth wise, so if others are having the same issue, Apple should try to fix this one....
Apple Watch, watchOS 3.1.3, macOS Sierra 10.12.3, iOS 10.12.1