DLC In Blueprints Documentation Portal
  • Welcome
  • Getting Started
    • Getting Setup
    • Important Notes
  • Walkthroughs
    • How to Use
    • Feedback Requests
Powered by GitBook
On this page
  • For Steam
  • Is DLC Installed:
  • Is Game Installed:
  • Open DLC Store Page:
  • Steam Overlay To Webpage:
  • For Epic Games Store
  • Getting the EOS SDK Product Details:
  • Setting up the EOS Online Subsystem:
  • How to access the EGS Nodes:
  • Browser Login:
  • Epic Launcher Login:
  • Query DLC:
  • Query Store Offers:
  • Purchase Offer:
  1. Walkthroughs

How to Use

PreviousImportant NotesNextFeedback Requests

Last updated 8 days ago

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.

For Steam

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

Is DLC Installed:

  1. This node works with branch checks/if statements to determine if a DLC is owned and installed.

  1. Use the App ID of the DLC found in the steamworks developer portal.

  2. This can be used in almost any event graph.

Is Game Installed:

  1. 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.

  2. To use, simply insert the app ID of the game you are playing and use it with a branch check/if statement.

Open DLC Store Page:

  1. This node allows you to open the store page for DLC, enabling users to purchase it through Steam's in-game overlay.

  2. 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.

  3. When a user purchases a DLC and sets it to installed (Steam generally does this automatically), the "Is DLC Installed" check will return true.

Steam Overlay To Webpage:

  1. 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.

  2. It will open with the In-game overlay when called.

For Epic Games Store

The Epic Games Store works a little different from steam but should be relatively simple to implement following this guide:

Getting the EOS SDK Product Details:

To use EOS in our project we need to create a product on EGS, this does cost 100 dollars to publish there.

  1. Once the product is created, go to the Project-Product Settings->SDK Download and Credentials.

  2. Take note of these values, they will be used when setting up the EOS Online Subsystem artifacts.

  1. 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.

Setting up the EOS Online Subsystem:

  1. Open project settings under Edit->Project Settings.

  2. Scroll until you see Online Subsystem EOS under "plugins" category.

  3. Enable these settings

  • Enable Overlay

  • Enable Social Overlay

  • Enable Editor Overlay

  1. Create a default artifact name, Usually this is your product name in the EOS Developer portal.

  2. Assign the SDK Values for Live Sandbox from the Getting EOS SDK Product Details section to each entry that corresponds with the artifact.

  3. 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.

How to access the EGS Nodes:

  1. 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.

  2. Drag from the blue output pin of the subsystem and search for "EOS DLC Nodes".

Browser Login:

  1. This node will open in either the Epic Games Store overlay or the default web browser, depending on which one EOS detects is available.

  2. 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.

Epic Launcher Login:

  1. 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.

  2. 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.

  3. 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.

Query DLC:

  1. 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.

  2. It uses the audience item ID, which can be found under the offers tab of the Epic Games Store developer portal on your product.

Query Store Offers:

  1. 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.

  2. This is very easy to use.

Purchase Offer:

  1. 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.

  2. 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:

https://www.browserling.com/tools/random-hex