Follow normal Nurikabe rules(skip to 2nd paragraph if you know them). i.e. :
The object is to determine whether each grid cell is filled in or not. Grid cells must be filled in so that all the black cells form one contiguous region, not counting squares touching at a corner to be adjacent, but it is not allowed to have a two by two square of black cells. Finally, each connected region of unfilled cells must contain exactly one number, which tells how many unfilled cells there are.
For this variation I’d suggest marking the unfilled ones too.
In addition there are Masyu circles in some places on the grid. The white circles belong to the “shaded region” around the islands only. The shaded region must pass straight through these white circles, additionally, it must have a perpendicular shaded path on the square visited right before or right after the white circle (it may turn on both, but not neither). Unlike the loop format in Masyu, here the shaded path can go straight on as well, just that it has to have a perpendicular on either side and the white circle itself shouldn’t have any perpendicular connections. The black circlies belong to the islands only. At a black circle, the island’s path must turn, and then go straight through both of the two adjacent squares. The island cannot go straight through a black circle, and can have perpendiculars in the 1st adjacent square, as long as there is a 2nd adjacent square in the line too. The solution is unique.
Here is an example and its only solution(Assume I’ve shaded those rather than drawn a loop, as shading is the intended method, my computer’s behaving quite odd as of now, so can’t give the shaded version). :