New coach Kyle Smith announced Wednesday that James will join the Cougars after two years at Colorado State.
James played as a junior in 2017-18 then used his redshirt season last year to recover from knee surgery. As a junior, he averaged 10.4 points and 5.3 rebounds per game.
He will have one year of eligibility.
Meanwhile, Williams on Tuesday signed to play at Washington State next year. The Seattle product is the son of former WSU basketball star Guy Williams.
Noah Williams is a 6-foot-5 guard who averaged 17.5 points, 8.4 rebounds and 4.7 assists per game at O'Dea High School in Seattle last season. He is rated as a four-star prospect by ESPN.