How to Use
Last updated
Last updated
This page covers how to use the features of both Steam and the Epic Games Store in Blueprints. The logic in C++ should be the same.
The Steam features as of V3 are available as static functions. There are four major functions: Is DLC Installed, Is Game Installed, Open DLC Store Page, and Steam Overlay To Web Page
This node works with branch checks/if statements to determine if a DLC is owned and installed.
Use the App ID of the DLC found in the steamworks developer portal.
This can be used in almost any event graph.
This node functions similarly to "Is DLC Installed," but it is used for full games, primarily the one you are playing. It can be used for ownership verification. However, please note that Valve doesn't prioritize developer protection, so pirates/modders may bypass it with hacked versions of Steam DLLs. I am exploring a way to authenticate with the cloud in a V4 update.
To use, simply insert the app ID of the game you are playing and use it with a branch check/if statement.
This node allows you to open the store page for DLC, enabling users to purchase it through Steam's in-game overlay.
To use, simply call it with the App ID of your DLC. After that, the in-game overlay will appear, and the user can checkout in the overlay.
When a user purchases a DLC and sets it to installed (Steam generally does this automatically), the "Is DLC Installed" check will return true.
This node is unrelated to purchasing but can be used to promote your games by linking to trailers on YouTube, your company website, or any other URL on the internet.
It will open with the In-game overlay when called.
The Epic Games Store works a little different from steam but should be relatively simple to implement following this guide:
To use EOS in our project we need to create a product on EGS, this does cost 100 dollars to publish there.
Once the product is created, go to the Project-Product Settings->SDK Download and Credentials.
Take note of these values, they will be used when setting up the EOS Online Subsystem artifacts.
Epic Games Store uses sandboxes, these are equivalent to steams Developer key, Testing, and Live keys. these are named Dev, Stage, Live. I recommend using Live for everything, and then go into product Settings->Sandboxes->Dev/Stage->Deployments->three dots-> links artifacts->Assign live to each sandbox so it works.
Open project settings under Edit->Project Settings.
Scroll until you see Online Subsystem EOS under "plugins" category.
Enable these settings
Enable Overlay
Enable Social Overlay
Enable Editor Overlay
Create a default artifact name, Usually this is your product name in the EOS Developer portal.
Assign the SDK Values for Live Sandbox from the Getting EOS SDK Product Details section to each entry that corresponds with the artifact.
Once all entries have been filled out in the newly created artifact ensure thats its name aligns with the Default Artifact name. Here is a image of what it should look like when filled out.
To find the EOS Subsystem, right-click anywhere in the context menu and search for "EOS Subsystem." This should return a single node with a blue output pin.
Drag from the blue output pin of the subsystem and search for "EOS DLC Nodes".
This node will open in either the Epic Games Store overlay or the default web browser, depending on which one EOS detects is available.
This has a callback which you can get by dragging off of the result pin and clicking "add custom event", it will come with the input parameters if you do it this way.
This node will automatically log in the user if they launch via the epic games launcher, I recommend using this for production builds over browser login, as its automatic and requires no input from the player.
It must be called when the game starts, typically on event init of the game instance after a 1 second delay since the code it uses to authenticate is short lived.
This login method does not work in editor, the game must be launched from the epic games launcher and it needs to have its sandbox align with the artifact, see Setting up the EOS online Subsystem for how to do this.
This node indicates whether a DLC or full game is owned. Unlike Steam, Epic Games secures this information to prevent piracy and hacking. you can securely use this for DRM.
It uses the audience item ID, which can be found under the offers tab of the Epic Games Store developer portal on your product.
This node returns the store details of an offer by its offer name, you can build out in game stores using this as it returns description, price, and much more.
This is very easy to use.
This node allows you to checkout in-game through the Epic Games Store overlay and returns a success/failure event for the purchase which you can use to unlock items, add coins, or other transacational code.
This works with DLC, microtransactions, and any type of offer that the Epic Games Store provides.
Now you need to set up a hash key for the client encryption key, this can be done via this site here: