bevyengine / bevy_github_ci_template

Apache License 2.0
202 stars 45 forks source link

How to protect Assets #20

Closed frederickjjoubert closed 1 year ago

frederickjjoubert commented 1 year ago

Sorry if this isn't the best place for this. I want to discuss protecting the assets created along with the release build.

Right now, the release template bundles your assets folder and an executable of your game. All your game assets are just sitting there, available to anyone who downloaded your game.

I am currently making a game to be a commercial product in the future. I am worried about the assets being stolen.

What is a good way to protect my assets, at least legally? Is there a license or read me I can include in the assets folder to notify end-users that those assets are copyrighted and not permitted for reuse?

alice-i-cecile commented 1 year ago

Legally, simply not including a license or explicitly stating that they're all rights reserved is enough to cover your bases.

Technologically, you can use various "asset bundling" tools to make reverse engineering the code a bit more difficult.

Ultimately though, the player needs to be able to read the assets, and so even complex encryption schemes are breakable by an adversary, as you must ship the key to your player's hardware.

frederickjjoubert commented 1 year ago

Thank you, I found https://github.com/vleue/bevy_embedded_assets, which I am going to use to embed the assets in the binary, to at least make them not easily available.