
Reverse Engineering of Intermediate Language
Intermediate languages like C# can be easily reverse engineered using decompilers. The decompiler will show ALL OF YOUR ORIGINAL SOURCE CODE. This can be damaging to you, as the following might happen:
1. Competitors are able to steal your source codes.
2. Anyone can mod your application (includes code inject) and recompile them.
These are undesirable actions that we as developers do not want. Hence build your application to native binary using tools like IL2CPP when you are using Unity.
For more details on how IL2CPP works and its benefits, click here.