How Do You Secure Games Built with Unity DOTS?

I’ve been relying on security solutions, but I’m worried because there don’t seem to be any third-party solutions that support Unity DOTS. I can prevent basic memory tampering on my own, but defending against more advanced hacking techniques is challenging for someone without expertise. How do you handle security for games built with Unity DOTS?

What threats specifically do you intend to defend against? Games made using Netcode are server-authoritative and thus secure by default. Single player DOTS games are about as secure as any software that runs locally on the user’s machine.

It’s handled the same exact way as any other game.

If you’re concerned about the user ‘hacking your save files,’ or ‘cheating in your game,’ which is playing on their computer, just don’t be.

There’s nothing you can do about it. Nothing is secure, it is not your computer, it is the user’s computer.

If it must be secure from tampering, store it on your own server and have the user connect to download it. Remember they can still change it after they download it and before your program uses it.

If it must have secure user authentication, use Apple login or Google login. Nothing else is worth it.

Anything else is a waste of your time and the only person you’re going to inconvenience is yourself when you’re debugging the game and you have savegame errors. Work on your game instead.

Remember, it only takes one 12-year-old in Finland to write a script to read/write your game files and everybody else can now use that script. Read about Cheat Engine to see more ways you cannot possibly control this.

NOTE: if you begin your response with “So you’re saying that…”, then you haven’t read the above. Go back and read it carefully or you are going to waste a lot of your own development time for nothing.

1 Like

It’s not an issue if an individual manipulates and enjoys their own data. The problem arises when they distribute an app with manipulated data. As a defensive measure, the goal is to frustrate hackers, making the time spent hacking my game inefficient compared to the benefits they might gain.

This is a fundamental misunderstanding of your opponent’s mindset. But anyway, whether or not you use DOTS does not affect your situation in any way.

1 Like

Hmm… I’m not an expert in hacking, so I’m not sure how to approach this issue. Should I follow the advice above and not take any action at all…?

Think about it like this: you have a limited amount of resources (which includes your time) to spend on making your game.

Now you can spend those making a game for your audience to enjoy and make it the best it can be or you can focus on a tiny subset of them who would do this thing you dont want them to do, and try to make doing it frustrating. Not impossible, just frustrating.

Is that really a good way to spend your precious resources?

2 Likes

DOTS won’t do anything for you.
It is a bit more complicated, but it doesn’t matter, as core Unity engine is the same, as withouth.

Your best defence is an offence.

Don’t be like launch and forget app, as you are on loosing side.

Keep pushing continuous updates to the app, so anyone else trying copy, will be always behind. And you keep you fan base at the door.

Alternatively use server approach, as others pointed out.

1 Like

I think you can figure this out yourself if you think through it in a data-oriented way.

Your game is data. What you seem to be concerned about is that the data is modified, and then distributed. If it is your game (and consequently you are the distributor), are you the hacker? Or have you been hacked? Or does not all the data come from you? In that last case, where does it come from? Why are you accepting it? Do you need to accept modified data?

1 Like

I’ll try using Cloud Code and logs! Thank you!

1 Like