- Home /
Unity Scripts Can be stolen?!
Hi all, A fried discovered that scripts in games made with Unity can be extracted from the games after being build (.exe).
Hes said he uses the files named:
Assembly-CSharp.dll Assembly-UnityScript.dll
and he was right.
Is there any way to over come this problem and protect my game scripts from being stolen after building it?
sorry if my English is bad.
No. If someone wants it bad enough, they'll get it. If anything can be done to prevent a crack, something can be done to circumvent that. ... then if all else fails and they can't figure out a way through/around that, they could just come s$$anonymous$$l your computer.
...say... what kind of computer you got?
But currently any beginner Can s$$anonymous$$l the scripts. the way is very easy
$$anonymous$$y computer is Pc touch.
If it makes you feel better, nearly every question besides yours is "I got this free Unity script, unsuccessfully tried to change it, and need help figuring it out."
If you're worried about people s$$anonymous$$ling your code you haven't made anything worth s$$anonymous$$ling yet ;) At which point you won't care.
i wouldn't worry to much about it, my games script is very long with very little explanation, so even if someone wanted my script they would have to read everything and then read the other scripts to understand what they do as the vast majority of scripts will talk to one another.
also they would still need to do something with it, or else whats the point of having it and im pretty sure if they used it word for word you could sue them or some legal stuff
Answer by Bunny83 · May 15, 2012 at 04:51 PM
No you can't do much about it. The problem exists with any kind of software. Since the processor have to execute the code it have to be available. Any kind of code can be decompiled to a certain level. Pure machine code can always be viewed in assembler.
However a feature of the scripting language used in Unity (CIL Common Intermediate Language) is, that CIL code can be almost fully decompiled in any .NET / Mono supported language if there's a decompiler for that language. Most decompilers have problems with generator functions (coroutines in Unity) but they can always be viewed in IL. Just download ILSpy and try it yourself ;) Take a look into the UnityEngine and UnityEditor dll, it can help to understand the GUI system for example.
There is the Unity3DObfuscator which can be used to make the code almost unreadable. It just replaces function and variable names with some random characters so it's hard to determine what the code does, but it still can be figured out ;)
This is a general problem with managed code. Java has the same problem. Minecraft for example was never ment to be altered by the community. Some people just decompiled the whole game to be able to integrate the mods. They ultimatively created a set of tools (the MCP) that can decompile and also deobfuscate the code.
Your answer
Follow this Question
Related Questions
A node in a childnode? 1 Answer
what am I doing wrong 1 Answer
Some scripts don't work when compiling to flash, work fine in editor 1 Answer
"Use of unassigned local variable" error that seems wrong 0 Answers
Game scripts error please help! 1 Answer