Need steam online subsystem explanation

What’s the point of using online subsystem in UE4? Whole steam setup require few simple actions:

  1. put .h, .lib, .dll files in your project folder
  2. include steam_api.h to any your source code .h files and add lib reference in vs project settings
  3. call Steam_Init() function and get profit
  4. put .txt file with steam app id 480 for test if required

Enabling steam in UE4 requires some other not clear actions (especially when you use blueprints template and there aren’s any source code files to add steam). What’s the difference between using simple few actions against activating subsystem? (where you don’t even know if engine call Steam_Init() on itself or require you do it).

The intention is to abstract away which Online subsystem you are interacting with making writing multiplatform games easier.

If you are publishing to PC via Steam, XBox, and PS4 you don’t want to have to write your platform interfaces multiple times. Instead you write to the Online Subsystem and it abstracts away what the API differences between Steam, XBox Live, and PSN.