The 22-year-old spent last season on loan at Bolton, making 30 appearances in the Championship.
He is the second Toffees player to join the Latics this summer after full-back Antonee Robinson signed a three-year deal earlier this month.
Williams could make his debut for the Championship side in Saturday's season opener against Cardiff.
Need a VPN? Or seeking to switch? Then support Tribal Football by clicking here to sign up with our official partners NordVPN. Not only will you receive the best VPN experience, but also great discounts by signing up via Tribal Football. Thanks for your support!