You plug your shiny new eGPU into your MacBook Pro, and expect a game like Borderlands 3 from the Epic Games Store to run smoothly (30+ FPS) at medium settings on your 4k monitor. It's a good graphics card, but when running the Benchmark animation, you're still seeing drops into 10-20fps range, and it stutters and becomes a slideshow. Is it a crappy port? Is your graphics card broken? No! Take heart, and follow these steps:

  1. Use a disk space calculator like DaisyDisk, and notice that there's a huge folder at /Users/Shared/Epic\ Games/Borderlands3/ , where the Epic Games Store puts all of its games
  2. Open it in finder by running: open /Users/Shared/Epic\ Games/Borderlands3/ on the terminal
  3. ⌃+click or on the Borderlands3 app in that folder and select "Get Info" from the menu
  4. If your eGPU is plugged in, you should see a checkbox that says "Prefer External GPU" , as explained in this Apple Support article . Check that box!
  5. Re-launch the game via the Epic Store. Your benchmarks should be markedly improved.

For some reason the game was trying to run using the MacBook Pro's built-in mobile GPU instead of the honking, loud, industrial-strength graphics pipes of the eGPU. Checking that setting fixed it.

There's a few things I don't know about this setting:

  • will it get clobbered if Epic Games Store updates the game files?
  • is it retained after unplugging and re-plugging the eGPU?
  • is there any way to set it via command-line instead of in Finder?
  • can it be passed in as a command-line argument via Epic Game Store's per-game "Additional Command Line Arguments" setting?

But at least this has solved my slideshow problem for now.