So, I'll keep things brief and answer any questions as they come.
I'm using a Synology NAS on a 1 Gb LAN for storing games (Steam, Origin, Uplay... etc). I have 3 gaming PCs one of which is a laptop with no Ethernet (yes tried USB ethernet, no this doesn't work for me). My current NAS setup works, mostly. On my two desktop PCs most games run straight of the NAS with only a small hit on load times. However, on my laptop with no Ethernet it's impossible to run any games off the NAS and I cap out at ~60 MB/s reads over wifi.
Games that don't work over NAS at all (Doom, Guildwars 2 for example) appear to be affected by latency more so than other games. My current solution is to use SyncBack Pro to Sync a local copy of these games to my NAS, this allows me to keep those games updated on all machines with minimal disruption. There are issues with this as well, given that unattended file syncing is not perfect.
However I'm looking for a more practical solution that will work even on my bandwidth limited laptop. I'd like to setup a client side automatic cache for the most frequently used games. I'm wondering if anyone has ever implemented a solution such as this for other purposes and had any tips/ideas to share. I'm hoping there's an easier way to do this otherwise I'll be forced to write something to do this on my own.
To be clear, Im not concerned about write times to the NAS as much as I am concerned about reads on the client side.
For writing to the drives I have a server which runs all my gaming clients and updates my games at specific times (when working/sleeping). So write times are not a concern.