Sitecore Experience Accelerator (SxA) provides methods of creating features which can be installed during the creation of a new tenant.
These features are defined by scaffolding items and branches which wil create new items in the new tenant. Only the scaffolding items and branches are (ideally) synced using Unicorn and not the items created in the tenant (So clients can create new tenants without any help).
But what if the requirements of these features change over time, or new features are requested. The client already has created a couple of tenants filled with content, and those changes/additions need to be pushed to those existing tenants.
Is there a way to upgrade or add features to existing tenants?
Yes, there is and there is not...
In SXA we are using upgrade scripts (those are PowerShell scripts) and our own upgrade runner. If you've been upgrading SXA from the first version then you've probably seen upgrade procedure (as far as I remember between 1.3 and 1.4 we had at least few of scripts which need to be executed).
But:
/sitecore/system/Modules/PowerShell/Script Library/SXA/SXA - Upgrade/Functions/Upgrade Scripts
. Each script is upgrading SXA version so as I mentioned above you'd better not modify it manually as you might have problems while upgrading SXA in the future!At the moment there is no other way to do it automatically for the users.