How can I create custom EV3 blocks? What do I need to create custom blocks and in particular the VIX part?
You only need the official LEGO MINDSTORMS EV3 software.

LEGO provides a "EV3 Block Developer Kit" on the MINDSTORMS downloads page. This contains some minimal instructions on creating blocks. It also contains an older version of the EV3 software.

However, I have found that any version of the MINDSTORMS software can be used in "developer mode" by creating a file named MindstormsEV3.ini with the following contents:

&lt;?xml version="1.0" encoding="utf-8" ?&gt; 
&lt;Tokens DeveloperMode="True" /&gt;


Save this file in the directory where the software is installed, e.g. C:\Program Files (x86)\LEGO Software\LEGO MINDSTORMS EV3 Home Edition\, then start the software.