Reverse / uncompile built project's script?

I am no expert in this field of knowledge, but I got a few questions.
I saw quite some tools / tutorials for peeking the source code for unity games. Some can even modify it (if I am right). In my opinion this is pretty bad for either singleplayer games or multiplayer games.

That makes me wonder is there anyway to protect this from happening?
After few hours of research, I found Unity3D Obfuscator, which makes it harder to decompile?

Also I have heard that the unity engine itself is using c++ so it can’t be uncompile. So why are we still using C# for coding our game mechanics instead of using c++? (If it can’t be uncompile) Does c++ make coding game mechanics harder or what?? (I haven’t learnt c++ yet so I have no idea).

These are just my silly questions, but an answer will be nice.

This has been discussed to death, and there is even an asset for it:

Excepting some rare situations, it actually doesn’t matter if someone has the source to your game. Also, the source generated by decompiling needs allot of work to get it running again. As for online games, you really should be doing the bulk of your protection server side. Never rely on the client.

1 Like

At best you can only delay the inevitable that someone will reverse engineer your game for some purpose.

First result for “C++ decompiler”. Supports Windows, macOS, and Linux.

http://derevenets.com/

2 Likes