I recommend this-
Its unversaly. I use this on every rom.
Regularly updated.
http://zackptg5.com/android.php#disverfe
XDA Thread for this-
https://forum.xda-developers.com/android/software/universal-dm-verity-forceencrypt-t3817389
P.S. I never format data while updating before flashing this (never needed, it works fine without that). I onlyformat data whenever i want pure clean install of any rom.
Just make sure to flash this after rom and after custom kernel or anything that edits boot. But flash this before Magisk. So. In short-
1. Flash- rom
2. Flash custom kernel or any thing that edits boot
3. Flash this to decrypt and to boot ur device successfully
4. Then flash Magisk
Note1: When you need clean install then follow these steps-
1. Factory reset (as normal when u do but if u r flash pure stock than wipe everything- i recommend this everytime for every stock(based) rom)
2. Reboot to recovery again
3. Click on Format data, type yes and format it.
4. Reboot to recovery again
5. And now go on flashing as mentioned above before these steps.
Note2: When u just need to update and not clean install. Then follow these steps-
1. First make sure to remove all magisk modules (when enabled it makes issues - after Magisk 18 and Pie update - before these updates i never got issues)
2. Now in twrp flash update zip
3. Flash anything that edits boot (ex. - custom kernel) if you want.
4. Now flash Magisk
5. Don'y flash any tweaks etc yet. (xXx NoLimits also)
6. Reboot.
7. Now if you want flash tweaks, modules etc.
8. And now only you are ready to flash xXx NoLimits again if you want.
**
*I guess this may help many of you in many cases.*
**