What's the best workflow for keeping 3rd party asset dependencies up to date?

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.