Implement better launching of Origin games
Launchpad launches Origin games with a fairly generic and forceful method--it closes Origin if it's running, then launches the game (which opens Origin itself), then after closing the game it closes Origin again. There is planned functionality to optionally launch Origin again (through a scheduled process so it doesn't hook into the Steam overlay) at the end so you can keep it running.
It does this because otherwise process hooks such as the Steam Overlay typically won't work. Steam has to be the thing that launches the game process, but if Origin is already running, then Origin, which is a sibling of Steam and not a child, is what launches the process. Closing Origin first means Steam can own the Origin process, which makes the overlay work.
However, having to forcefully close Origin is not ideal. It can mean cloud saves aren't fully uploaded, and it means you won't get game updates until you run Origin next, which might be when you're trying to play the game that needs updates.
Blizzard game launching works much better by contrast. It happens like this:
- Launch Battle.net's exe with an argument which goes to the game's correct page and click the Play button automatically
- Wait for game process to exist, and then immediately close and re-launch it with the exact same process info
This causes Battle.net to still know you're playing the game, but Launchpad now owns the game process so Steam's overlay can hook in regardless of whether Battle.net was already running or not.
A similar solution should be found for launching Origin games if possible.