Hey Daichi,
could you elaborate on what you mean by modifying the settings from a packaged game?
Do you want to modify an existing build without having the project available?
Would just creating a second build with a modified config file be an option?
> 1. Would the above idea of modifying DefaultCrypto.ini + BuildCookRun with the above options generate a playable version of the game with the proper crypto settings? And am I understanding this correctly in that the usage of -skipbuild and -skipcook indicates that the staging of the package is depending on the saved built/cooked content?
Yes, skipping those options will assume there is an up-to-date build and cooked data available to use.
However, the signing and encryption keys are embedded into the compiled game (see UE_REGISTER_ENCRYPTION_KEY in ModuleManager.h and it’s definition in TargetRules.cs).
This means that changing or enabling/disabling the encryption or signing settings will require a rebuild of the game’s executable.
At least some of the signing/encryption checks are hardcoded to be enabled if an encryption/signing key is embedded into the executable, so these checks can’t be disabled through a config option in the packaged game.
> 2. Is there a way to achieve a similar result in a situation where I only have the packaged game output and not any of the saved build + cook outputs? Not sure if UnrealPak can do this or other built in tools? Or is this not feasible as part of applying the proper encryption/signing settings is outside of the -stage process in BuildCookRun.
Based on the fact that at least for signing/encryption you would need to build a new executable, I don’t think this is possible out of the box. You could modify the engine code to disabled singing/encryption based on the config files inside your pak file, but this would potentially open up way to circumvent your signing checks. Not verifying a signature is definitely possible, for encrypted pak files you’d always need the correct key to access them, so you’ll also need to recreate the pak files / iostore containers when you want to disable encryption.
Kind Regards,
Sebastian