My sheet has two checkboxes who we will call "A" and "B". I need it so A must be checked in order for B to be checked. I cant find out how to do this using data validation but it seems there must be a way.
In Google Sheets the checkbox itself is a data validation which means as soon as you change the data validation it will remove the checkbox. There is no way around this if you want to retain the ability to check and uncheck it manually.
If you want to have the ability to check and uncheck and prohibit checking column B unless column A is checked you will have to use Google App Scripts in conjunction with the onEdit(e) function.
You have not given a sample or enough context to your question but one work around is to create a third checkbox in column C with a formula
=A1*B1=1 then only when both A1 and B1 are checked will the third checkbox 'check'. Of course as previously mentioned this solution will not allow you to check or uncheck the column C manually.