Williams was born at St Just, Cornwall, the son of a Cornish mining engineer who had returned from South Africa and his wife, a Welshwoman.
He served in World War I in the Devonshire Regiment; he was in the Camel Corps, and later Transport Officer in charge of mules.