@AaronO
Since you are doing this in a gallery, you are going to need to take note of the ID of the record it belongs to. If you try to use a variable for it, then you will end up with everything in all records changing.
So, you can do this with a common variable or a collection. It would be easier to explain with a collection, although a collection is overkill.
So, on the MarkAll button, set the OnSelect action to:
Collect(colMark, {ID: ThisItem.ID})
In the Unmark All, set the OnSelect to:
RemoveIf(colMark, ID=ThisItem.ID)
You will need to pass the ID to the sub gallery in the Items property.
This can easily be done with: AddColumns(yourExistingSubGalleryItemsProperty, "parentID", ThisItem.ID)
Then on the CheckBoxes in your sub gallery, set the Default property to:
LookUp(colMarks, ID=ThisItem.ParentID, true)
Then, set your Reset property on the Checkbox to : yourUnMarkButton.Pressed || yourMarkButton.Pressed
This will give you control record by record in your gallery.
I hope this is helpful for you.