A tutorial at your own pace.
At first I explained in dialog, copying what many games already do, but this felt very disruptive to the player experience.
I solved it by using sticky notes with short explanations. The player has the option to click a note if they want more info.