Is code protection still popular in these day?

Maybe this question is nothing to do with Unity nor Games. But I am curious that is it necessary for developer or company to protect their source project…

You still got copyright over the code, but it’s very hard to keep track of and could be hard to defend this in court.

If source code gets out your game can be easier to break, mod, hack, etc.
For offline games not a big issue (except for people building and pirating the game). For online games it can be terrible because of cheats and stuff.

What did you have in mind exactly if I may ask?

No

There should be a forum FAQ on this.

The code MUST be in a machine-readable form to be executed, and therefore there is no armor you can apply to your code which cannot be bypassed by somebody interested in copying it. The ONLY exception would be for you to have complete physical control over every machine that is given your code, which is clearly not the case if you offer it on game shops for people to download and run on their own phones, tablets, goggles, watches, decks, devices and desktops.

Even if you could protect the code, just a few minutes of gameplay video footage is enough for an experienced coder to recreate the core gameplay mechanics good enough to start undermining your sales. It’s going to happen.

Your internal assets like a Unity project folder are worth keeping backups, and maaaaaybe worth trying to keep out of the hands of competitors, but again, an experienced coder can just recreate the core mechanic from a little study.

Just make your game to satisfy your itch, or if you are big enough to have a publisher, work on protecting the trademark aspects of your game so it’s not as easy to produce exact clones.

2 Likes

Only in the sense that you would take someone to court for it.

If someone steals your codebase, you start a lawsuit against them and win.

EpicGames at one point of time has destroyed a gamedev studio this way. Due to breach of contract and unauthorized use of source code.
https://en.wikipedia.org/wiki/Silicon_Knights

Prevent copying or reforming to other similar games by quite short time

If you keep continuous updates of a game, then no need too much worry about protection hassle.

You basically provide always most up to date application. Anyone else will be lagging behind.

For anything, you can use code obstruction with automatic solution. Will make it a bit more difficult to hack in and delay certain copying, but nothing will prevent for 100%. Also, if game is single player, who cares if someone hack it in.

Do you have any code that’s worth stealing, anyway? I, for example, don’t really have anything novel or reusable in my codebase. Anyone who can reverse-engineer my code and figure out how it works could just as easily write their own.

Scripts are usually so context-specific that they are rarely going to be useful in another project. Even if you buy scripts on the asset store (that are actually meant to be useful) it’ll still often take a lot of work and modification to integrate into your own project. Some people decide that it’s not even worth taking all the time to learn all of this unknown code when it takes less time to develop from scratch.

It’s always possible that somebody could just copy everything. No need to integrate my code, they can just pirate my whole codebase as-is and just change the graphics, or they could even change nothing and simply replace my name with their own name -steal my project completely. This would be very unfortunate for me, but it would do no good to try to protect my code, because there are ways they can pirate my project without even seeing the code. So what’s the point?

Employee for example? Jumping from Company A to Company B with the whole project,it is not graceful,but it is true,it happens everywhere,at least in some regions.

PS: First of all, I dont own a company ,maybe it is not my issue…

Professionally, I’ve only worked in enterprise systems. My experience has been that any company I’ve worked for has absolutely zero interest in whatever my previous company was working on. Didn’t even ask.

Anyway, I’m not sure what you are asking here. Are you proposing that you should keep your code base protected from your own hired developers? There are clauses in employee contracts for protecting your trade secrets. Once again, lawyers and contracts protect you. Obfuscating your source code only makes things more difficult for you, I would think.

And? If they steal the code you either pursue legal recourse or, if there are no legal options, they steal the code and your code protection doesn’t have any effect because they already have the project.

1 Like

I usually worked in a phone industry company.There was a very strict rule for security,anyway,personally I hated that,but it seems reasonable.Anyway,maybe I know what I should do now…

That is a good reason for Company B to fire that Employee on the spot.

THe project is a property of Company A, so if COmpany B receives it, that’s ground for Comapny A to sue Company B, which can result in losses. Additionally, emloyees usually sign NDA, agreements and the work belongs to the employer. If an employee feels entitled to steal the code while leaving, you don’t want to have that person on your team, as they don’t care about agreements and will steal your code too.

Another problem is that a typical videogame usually does not have any code worth stealing.

2 Likes

Generally speaking, I wouldn’t protect my project from my own crew, because if they can’t access it properly then they can’t work on it, so I would be shooting myself in the foot. There can be reasons for this in sufficiently large projects, but they’re pretty rare.

Rather than protecting whole codebases, I’d look at specific, unique IP when it comes to deciding whether or not to protect stuff. For example, if you’ve got an algo which does something valuable that none of your competitors can do, I’d protect that until someone else managed to replicate it. Or if a client gave me data for a project which needed to be kept confidential or secret, I’d protect the heck out of that, too. Whatever it is, protecting it effectively probably includes never letting outside users run it on their own machines, because that requires a complete, working copy to exist on their machine, where you have zero control.

I work on a production game that uses Obfuscator by Beebyte to scramble code and generate fake methods, but only on custom namespaces. (Asset store scripts aren’t obfuscated.)

There are a few custom algorithms and asset integrations worth stealing - and a few people have tried. Those are the only people we aim to frustrate. Experienced competition could rewrite the core mechanics and pirates are gonna pirate. Fighting them in court isn’t time well spent. Invest that time making experiences players can’t find elsewhere. :slight_smile: