Yep, gcode is actually quite straightforward once you take the plunge. As these machines aren't very intelligent, gcode is just a list of commands for the printer to execute, most of them movement in X, Y, Z and E.

The command that changes the active extruder is T. So T0 is E0, T1 is E1 and so on. https://reprap.org/wiki/G-code#T:_Select_Tool. Extruder == tool in this case. That's all there is to it. What actually happens depends on our hw, but in simplest case Marlin basically starts driving E1 stepper drive instead of E0 (if T1 is issued). With mixing, Marlin runs all the extruders defined by the mixing ratios.

The M163 commands suggested are probably required, it might be that Marlin doesn't define default mixing ratios for the extruders so when executing T0, T1 etc, it crashes because it doesn't know what to do. So add those M163 commands to start gcode or run them before starting a print (not sure if the settings are stored to EEPROM so they might be reset when the board is reset). Can't remember how it was when I was messing with it...
Those M163 commands in the list are the per-extruder all-in settings, i.e. T0 drives only E0, T1 drives only E1...

That last bit seems to be more of an nice-to have feature, not required to get tool changing going. But it seems that with that you'll get an extra menu item where you can change material during printing and do load and unload.