Style protection is a feature that's WoltLab's answer to a user suggestion since the early days of WoltLab Suite 1.0 (back then still called WoltLab Community Framework, WCF): Make it possible to upgrade a style directly without having to versions of the style installed in the end.
So, the style protection does exactly this: It protects the designer's (S)CSS from being changed so it doesn't conflict with user's customizations by providing an additional field where the user can enter their own (S)CSS, The latter will be kept when updating the style. Same goes for color settings: these won't be updated, which is a downside if the designer did something wrong which they want to correct later.
Another downside: If the designer introduced their own SCSS variables (like I do a lot) these can't be overwritten due to how SCSS compilation works. You would have to include every part of code where it has been used. But then it wouldn't make sense to have these variables.
So, as a see it's a useful feature - somehow - but it doesn't make sense for everybody.
When Should I keep style protection?
- If you don't need to change SCSS variables or mixins that were introduced for the style you're using
- If you don't want to have more than one version at a time and if you fear the hassle with saving your customizations to another style version
- If you only want to add simple modifications, say changing icons.
When Should I disable style protection?
Let's talk about the conequences here first: You won't be able to get direct style updates anymore. If you do update the package file, you'll end up with more than one version of that style. And all your settings from the tab "Own Declarations" will be lost - so back them up first!
- If you need to change SCSS variables or mixins that were introduced for the style you're using
- If you don't fear handling customizations with more than one style version (and if you're familiar with documenting your changes for yourself/ your team)
If you've intalled a style that doesn't have a package identifier (see the tab "Data") you'll always end up having two or more versions of the style. Direct updates will only work if the style hast the same package identifier. As Alexander Ebert stated: The identifier of the package.xml doesn't matter - it's always the one include in the style.
[pp]If you're in doubt if you should disable style protection then keep it. You cannot undo this. and if you have more questions or want to asks things that are not covered on the support pages: please create a thread in the support forum, I'll be happy to help.
[pp]Thanks for reading and have fun styling your community.