<p>Printer: FDM printer  (FDM == Fusion Deposition Modelling).</p>

<p>Raw Material: Thermoplastics.</p>

<p>How do I do multicolor printing? What changes should I make to the printing process/to the raw material used?</p>

<p>(Answer in the context of printing a basic 3X3 Rubix cube)</p>

<hr>

<p>Bonus: What are the best practises while doing multi-colour printing?   (&lt;-- This is opinion based and/or broad, so pl add an answer to this point as an extra to your answers if you can. It would greatly help people getting started/practising with multi-colour printing) </p>

There are a few different approaches I've seen which you could look into.
The easiest and most common is multiple extruders, each with a different color of thermoplastic. Tools like Pronterface and Slic3r have built-in support for multiple extruders. With multiple extruders you can get one color per extruder; there's no clear way to mix colors and get a color between the input materials' colors.
Another, more complicated approach is to use a single extruder with three inputs, like
this one
, where thermoplastic from the three inputs can be mixed in varying amounts to get color gradients between the input colors. With red, yellow, and blue filament, you could get a rainbow of colors...albeit without any control over value (white to black) or saturation (bright vs dull color).