Thoughts on treating marketplace assets like code libraries

Lately, my version control costs have gone up because I’ve committed all my marketplace assets to my repo, but is this really necessary?

With a few exceptions, couldn’t most assets be dropped in after cloning the repo via “Add to Project” in the UE Launcher? At least assuming we’re solo developing; this would of course not work when collaborating with a teammate who doesn’t own the marketplace asset.

This is the approach you take in web development with languages like Python and JavaScript. For example if I want to use pandas or react in my web-application, I don’t actually commit all that source code to my repo. It’s installed in a folder called venv or node_modules which is .gitignored. After cloning the repo, I run pip install or npm install to get all my dependencies on my local machine.

Couldn’t the UE Launcher be used to do the same thing? Would a better approach be to not actually write to any of the content coming from the marketplace, and instead copy/subclass anything I need to adjust and only commit that?

For example, I installed Spectrum Galaxy. After hitting “Add to Project,” this adds a folder called Galaxy to the Content folder. Would it be feasible to add Content/Galaxy to my .gitignore, and create a level in my non-ignored folders that reference the assets from the ignored Content/Galaxy directory?

Can I expect this to work if I clone the repo, and add the asset back via the UE Launcher? Or are there “hardcoded” references in .uasset files that would require manually stitching things back together?