Should I keep the original assets in the project and create duplicates to be modified, then when an asset updates diff / merge new changes?
It’s always better to keep third-party assets separately because you could easily replace them or throw them away if necessary. In my project I use separate Git repos for third-party that I know I may need to upgrade them in the future. It looks like repos inside my main repo (submodules inside project). I can use the third-party, modify it on a new branch in submodule, and merge new changes that appeared for this submodule.
Here you can read more about this: Git - Submodules
Thank you! I’ll try that out.