I would try using nested git project directory first. Git will automatically ignore folders with .git
subfolders. You can use different accounts to create multiple git projects and host project files in different repository. It is invisible to users and you can use it as a normal project directory:
/project_folder
/.git
/large_assets_folder1
/.git
/some_assets_files
/some_assets_files
/large_assets_folder2
/.git
/some_assets_files
/some_assets_files
This brings additional operational complexity, and you need to perform version control on files in different repository separately. But it can solve your problem instantly.
So, how could I still manage large assets so that they reside outside of the repo?
For this specific problem, you can simply add the assets folder to the .ignore
file to exclude it from version control. In this way, you need to use other channels to distribute asset files, such as ftp server, network disk, etc.
The target is still be able to collaborate through git... I am dreaming of Unreal, upon cloning/pulling asking "You have assets that need to be downloaded", but my hopes are not high.
As far as I know this is not possible. Asset distribution involves authentication. It is difficult for Unreal to determine whether you have permission to download an asset. Additionally, if assets are re-edited during development, they cannot be synced to other developers this way.
We've used also a local server but you know, I don't trust our old PCs as servers.
A local server is the most promising solution in my opinion. If you don't trust your old PC, you can buy a Single-board-computer as a server. Git is not a performance-intensive function, and computer with low power consumption and stability would be a good choice. In terms of price, it is much cheaper than cloud servers or git providers, you only need a single board computer and a large hard drive.