Skip to content

Commit f57dd09

Browse files
committed
Updates for License Manager APIs, release EOS 2025.09.29
1 parent 068c2ad commit f57dd09

File tree

7 files changed

+269
-147
lines changed

7 files changed

+269
-147
lines changed

conv_from.png

128 KB
Loading

conv_to.png

123 KB
Loading

docs/changelog.mdx

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,29 @@ This document describes the changes made in each release.
2020
:::danger
2121
EOS SDK 1.17.1.3 and EOS SDK 1.18.0.4 are impacted by a regression that prevents games from querying game profiles of Steam friends if game profiles of Epic Games friends have previously been queried. For games using cross-platform Epic Games accounts, this results in the login process never completing and players being unable to progress past the login step.
2222

23-
For this reason, the Redpoint EOS Online Framework plugin is continuing to target EOS SDK 1.17.0 until a fix has been issued by Epic Games for EOS SDK 1.18.
23+
For this reason, **the Redpoint EOS Online Framework plugin is continuing to target EOS SDK 1.17.0 until a fix has been issued by Epic Games for EOS SDK 1.18**.
2424

2525
When downloading the EOS SDK from the Developer Portal, please ensure you download version `1.17.0-CL41373641`. Since newer versions of the EOS SDK are known not to work due to the above regression, they will be ignored when the Redpoint EOS Online Framework searches for an installed EOS SDK.
2626
:::
2727

28+
### 2025.09.29
29+
30+
This release removes EOS SDK 1.17.1.3 from the supported version list due to a regression in the EOS SDK that impacts players being able to sign into games:
31+
32+
- EOS SDK 1.17.1.3 will no longer be used by the plugin due to a bug in the EOS SDK. Please download and use EOS SDK 1.17.0 instead.
33+
- EOS SDK 1.18.0.4 is also impacted by this same bug, and is not included in the EOS SDK supported version list for this reason.
34+
- Added support for setting a custom game mode when the matchmaker starts a listen server.
35+
- Added support for specifying dedicated server client ID, secret and private key on the command-line with editor-based dedicated servers (i.e. using `-server` with the editor binary). We also improved log messages when dedicated servers are missing required configuration on the command line.
36+
- Added new blueprint nodes that can automatically convert between data values (string, 64-bit integers, boolean and double values) and the "Online Session Setting" blueprint type. This makes blueprint graphs that interact with session settings much cleaner.
37+
- Added support for overriding the assigned teams for party members when initially queuing into matchmaking. This allows you to intentionally split the party to different teams.
38+
- Added the "Presence Status Text" property to the "Redpoint Friend List Entry" object, allowing you to display a friend's custom presence text in bound friend lists.
39+
- Fixed an issue where the cross-platform fallback authentication graph was not selected when testing in the editor.
40+
- Fixed an issue where local platform accounts would not be linked to the product user ID upon the first login when Epic Games is selected as the cross-platform account provider.
41+
- Fixed indentation used when the plugin applies post-staging hooks to the engine.
42+
- Fixed an issue where players would not see the "link Steam to Epic Games" prompt when cross-platform accounts are required.
43+
- Fixed an issue where the Epic Games overlay would not display when launching on the Epic Games Store without Epic Games set as the cross-platform account provider.
44+
- Added Unreal Engine 5.3 back to our build matrix to support a customer with a premium support plan.
45+
2846
### 2025.08.25
2947

3048
This release adds support for EOS SDK 1.17.1.3 and fixes several issues:

docs/setup/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Before you can download the EOS SDK or use EOS Online Framework in your game, yo
3232
:::danger
3333
EOS SDK 1.17.1.3 and EOS SDK 1.18.0.4 are impacted by a regression that prevents games from querying game profiles of Steam friends if game profiles of Epic Games friends have previously been queried. For games using cross-platform Epic Games accounts, this results in the login process never completing and players being unable to progress past the login step.
3434

35-
For this reason, the Redpoint EOS Online Framework plugin is continuing to target EOS SDK 1.17.0 until a fix has been issued by Epic Games for EOS SDK 1.18.
35+
For this reason, **the Redpoint EOS Online Framework plugin is continuing to target EOS SDK 1.17.0 until a fix has been issued by Epic Games for EOS SDK 1.18**.
3636

3737
When downloading the EOS SDK from the Developer Portal, please ensure you download version `1.17.0-CL41373641`. Since newer versions of the EOS SDK are known not to work due to the above regression, they will be ignored when the Redpoint EOS Online Framework searches for an installed EOS SDK.
3838
:::

src/EOSVersion.tsx

Lines changed: 0 additions & 84 deletions
This file was deleted.

src/EosSdkVersionProvider.tsx

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
import * as React from "react";
2+
import { useState, useEffect } from "react";
3+
4+
export interface EosSdkVersionInfo {
5+
freeEditionVersion: string;
6+
availableVersions: string[];
7+
}
8+
9+
export const EosSdkVersionContext = React.createContext<
10+
EosSdkVersionInfo | undefined
11+
>(undefined);
12+
13+
async function fetchFreeEditionVersion(): Promise<string> {
14+
const response = await fetch(
15+
"https://licensing-api.redpoint.games/api/dependency-version/eos-online-subsystem-free"
16+
);
17+
const data = await response.text();
18+
return data;
19+
}
20+
21+
async function fetchAvailableVersions(): Promise<string[]> {
22+
const response = await fetch(
23+
"https://licensing-api.redpoint.games/api/eos-sdk-supported-versions"
24+
);
25+
const data = await response.text();
26+
return data
27+
.split("\n")
28+
.map((x) => x.trim())
29+
.filter((x) => x !== "");
30+
}
31+
32+
async function fetchEosSdkVersionInfo(): Promise<EosSdkVersionInfo> {
33+
const results = await Promise.all([
34+
fetchFreeEditionVersion(),
35+
fetchAvailableVersions(),
36+
]);
37+
return {
38+
freeEditionVersion: results[0],
39+
availableVersions: results[1],
40+
};
41+
}
42+
43+
export default function EosSdkVersionProvider(props: {
44+
children?: React.ReactNode;
45+
}) {
46+
const [data, setData] = useState<EosSdkVersionInfo | undefined>(undefined);
47+
48+
useEffect(() => {
49+
const fetchData = async () => {
50+
setData(await fetchEosSdkVersionInfo());
51+
};
52+
fetchData();
53+
}, []);
54+
55+
return (
56+
<EosSdkVersionContext.Provider value={data}>
57+
{props.children}
58+
</EosSdkVersionContext.Provider>
59+
);
60+
}
61+
62+
export function LoadingText(props: { children: string }) {
63+
return (
64+
<span className="loading-animation" aria-label={props.children}>
65+
{props.children
66+
.toString()
67+
.split("")
68+
.map((val, idx) => (
69+
<span
70+
key={idx}
71+
style={{
72+
animationDelay:
73+
(props.children.toString().length - idx) * -100 + "ms",
74+
}}
75+
>
76+
{val}
77+
</span>
78+
))}
79+
</span>
80+
);
81+
}
82+
83+
export function PendingEosSdkVersion() {
84+
return (
85+
<span
86+
className="loading-animation"
87+
aria-label="The required EOS SDK version has not loaded from our API server yet."
88+
>
89+
{"████████-v██████"
90+
.toString()
91+
.split("")
92+
.map((val, idx) => (
93+
<span
94+
key={idx}
95+
style={{
96+
animationDelay:
97+
("████████-v██████".toString().length - idx) * -100 + "ms",
98+
}}
99+
>
100+
{val}
101+
</span>
102+
))}
103+
</span>
104+
);
105+
}
106+
107+
export function ConditionalEosSdkVersion(props: { version?: string }) {
108+
if (props.version !== undefined) {
109+
return <strong>{props.version}</strong>;
110+
} else {
111+
return <PendingEosSdkVersion />;
112+
}
113+
}
114+
115+
export function CodeWithEosSdkVersionSuffix(props: {
116+
children?: React.ReactNode;
117+
}) {
118+
return (
119+
<EosSdkVersionContext.Consumer>
120+
{(value) => {
121+
if (value === undefined) {
122+
return (
123+
<code>
124+
{props.children}
125+
<LoadingText>████████-v██████</LoadingText>
126+
</code>
127+
);
128+
} else {
129+
return (
130+
<code>
131+
{props.children}
132+
{value}
133+
</code>
134+
);
135+
}
136+
}}
137+
</EosSdkVersionContext.Consumer>
138+
);
139+
}

0 commit comments

Comments
 (0)