As for Godot:
Note that Godot PCK is just an archive format, you can unpack it with e.g. GitHub - hhyyrylainen/GodotPckTool: Standalone tool for extracting and creating Godot .pck files .
Though I see they played with encryption, though also various comments point out it’s not critical:
-
Can you encrypt PCK files? - Archive - Godot Forum ,
Current versions of the engine don’t have this option; it was recently added to the unstable (and eventually the 4.0 version) of the engine. Please bear in mind that users can still dig through the binary, extract the encryption key, decrypt the PCK file, and search for whatever they want (though this will be more difficult).
-
https://github.com/godotengine/godot/issues/19790 ,
Protect Game Resources · Issue #19790 · godotengine/godot · GitHub says:
Do other game engines have any built-it “assets protection”? Nop, Unity and Unreal forums are full of the similar “Protect game resources” topics, with the exactly same answer: “it’s pointless”. (And asset stores are full of third-party snake-oil tools).
That said, I of course don’t want to reject this idea just based on the grounds that others don’t have it
I understand the desire to obfuscate your data.
So this approach would do the trick:
- at release time, automatically encrypt all data (all the files in data/) with BlowFish
- when running in release mode, install URL handler (like in castle-engine/examples/network/custom_url_handler at master · castle-engine/castle-engine · GitHub ), that effectively reads the file from disk, decrypts (using a decryption key stored in exe) in memory, and serves a decrypted file.
( Note that I mention BlowFish just because it is trivial to use. There are other encryption algorithms available of course, they would play the role nicely too. )
If this is critical feature for you but you’re not sure how to exactly implement 1 or 2, let me know – we can help
I can also imagine implementing it at some point at CGE level.