Skip to content

Commit 302c2c4

Browse files
authored
Merge pull request #1093 from PlayEveryWare/release-3.3.5
Release 3.3.5 (into `stable`)
2 parents 49d7d12 + 4024116 commit 302c2c4

File tree

391 files changed

+17591
-4464
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

391 files changed

+17591
-4464
lines changed

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ assignees: ''
1010
**Is your feature request related to a problem? Please describe.**
1111
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...].
1212
Also consider if this is an issue that the plugin handles, or something that the Epic Online Services
13-
SDK handles, E.G. "It would be nice if the EOS ran on the Plan 9 Operating System". Such requests are usually best posted to the Epic's [forum](https://eoshelp.epicgames.com/s/).
13+
SDK handles, E.G. "It would be nice if the EOS ran on the Plan 9 Operating System". Such requests are usually best posted to the Epic's [forum](https://eoshelp.epicgames.com/).
1414

1515
**Describe the solution you'd like**
1616
A clear and concise description of what you want to happen.

.github/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ There are many EOS features that do not require your player to have an Epic Game
5353
|[Authentication](https://dev.epicgames.com/docs/epic-account-services/auth-interface) || ["Auth & Friends"](/com.playeveryware.eos/Documentation~/scene_walkthrough/auth&friends_walkthrough.md), [Information](/com.playeveryware.eos/Documentation~/player_authentication.md) | ✔️ |
5454
|[Custom Invites](https://dev.epicgames.com/docs/game-services/custom-invites-interface) || ["Custom Invites"](/com.playeveryware.eos/Documentation~/scene_walkthrough/customInvites_walkthrough.md) | |
5555
|[Connect Interface](https://dev.epicgames.com/docs/game-services/eos-connect-interface) || ["Auth & Friends"](/com.playeveryware.eos/Documentation~/scene_walkthrough/auth&friends_walkthrough.md) | |
56-
|[Ecommerce](https://dev.epicgames.com/docs/epic-games-store/tech-features-config/ecom) || ["Store"](/com.playeveryware.eos/Documentation~/scene_walkthrough/store_walkthrough.md), [Information](/com.playeveryware.eos/Documentation~/ecom.md) | ✔️ |
56+
|[Ecommerce](https://dev.epicgames.com/docs/epic-games-store/tech-features-config/ecom)[^2] || ["Store"](/com.playeveryware.eos/Documentation~/scene_walkthrough/store_walkthrough.md), [Information](/com.playeveryware.eos/Documentation~/ecom.md) | ✔️ |
5757
|[Friends](https://dev.epicgames.com/docs/epic-account-services/eos-friends-interface) || ["Auth & Friends"](/com.playeveryware.eos/Documentation~/scene_walkthrough/auth&friends_walkthrough.md) | ✔️ |
5858
|[Leaderboards](https://dev.epicgames.com/docs/game-services/leaderboards) || ["Leaderboards"](/com.playeveryware.eos/Documentation~/scene_walkthrough/leaderboards_walkthrough.md) | |
5959
|[Lobby](https://dev.epicgames.com/docs/game-services/lobbies) || ["Lobbies"](/com.playeveryware.eos/Documentation~/scene_walkthrough/lobbies_walkthrough.md) | |
@@ -69,14 +69,16 @@ There are many EOS features that do not require your player to have an Epic Game
6969
|[Reports](https://dev.epicgames.com/docs/game-services/reports-interface) || ["Player Reports & Sanctions"](/com.playeveryware.eos/Documentation~/scene_walkthrough/player_reports_and_sanctions_walkthrough.md) | |
7070
|[Sanctions](https://dev.epicgames.com/docs/game-services/sanctions-interface) || ["Player Reports & Sanctions"](/com.playeveryware.eos/Documentation~/scene_walkthrough/player_reports_and_sanctions_walkthrough.md) | |
7171
|[Sessions](https://dev.epicgames.com/docs/game-services/sessions) || ["Sessions & Matchmaking"](/com.playeveryware.eos/Documentation~/scene_walkthrough/sessions_and_matchmaking_walkthrough.md) | |
72-
|[Social Overlay](https://dev.epicgames.com/docs/epic-account-services/social-overlay-overview) / [UI Interface](https://dev.epicgames.com/docs/epic-account-services/eosui-interface) || [Information](/com.playeveryware.eos/Documentation~/overlay.md) | ✔️ |
72+
|[Social Overlay](https://dev.epicgames.com/docs/epic-account-services/social-overlay-overview)[^2] / [UI Interface](https://dev.epicgames.com/docs/epic-account-services/eosui-interface) || [Information](/com.playeveryware.eos/Documentation~/overlay.md) | ✔️ |
7373
|[Stats](https://dev.epicgames.com/docs/game-services/eos-stats-interface) || ["Leaderboards"](/com.playeveryware.eos/Documentation~/scene_walkthrough/leaderboards_walkthrough.md) | |
7474
|[Title Storage](https://dev.epicgames.com/docs/game-services/title-storage) || ["Title Storage"](/com.playeveryware.eos/Documentation~/scene_walkthrough/title_storage_walkthrough.md) | |
7575
|[User Info Interface](https://dev.epicgames.com/docs/epic-account-services/eos-user-info-interface) || NA | ✔️ |
7676
|[Voice Trusted Server](https://dev.epicgames.com/docs/game-services/voice#voicewithatrustedserverapplication) || NA | |
7777

7878
Efforts will be made to add corresponding support to features as they are added to the Epic Online Services SDK. The table above reflects the features as of November 2023.
7979

80+
[^2]: Overlay Features aren't supported yet on Mobile devices as of EOSSDK 1.16.4. That includes Social Overlay and Store Overlay.
81+
8082
## Supported Platforms
8183

8284
We currently support the following platforms, details of each can be found on our [Supported Platforms](/com.playeveryware.eos/Documentation~/supported_platforms.md) document:
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Check Markdown Links
2+
3+
on:
4+
push:
5+
branches: ["feat/documentation-link-checker"]
6+
#paths:
7+
# - '**/*.md'
8+
pull_request:
9+
paths:
10+
- '**/*.md'
11+
12+
jobs:
13+
link-check:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v3
17+
- name: Set up Python
18+
uses: actions/setup-python@v4
19+
with:
20+
python-version: '3.x'
21+
- name: Install dependencies
22+
run: pip install requests tqdm beautifulsoup4
23+
- name: Run link checker
24+
run: python tools/scripts/check_links.py

.gitignore

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@
4141
# Autogenerated VS/MD/Consulo solution and project files
4242
ExportedObj/
4343
.consulo/
44-
*.csproj
44+
45+
# Only exclude csproj files in the root of the repository
46+
/*.csproj
47+
4548
*.unityproj
4649
*.sln
4750
*.suo
@@ -156,4 +159,5 @@ EOSPluginEditorConfiguration/
156159
Assets/Plugins/Source/Editor/obj/
157160
*_BackUpThisFolder_ButDontShipItWithYourGame*
158161
*_BurstDebugInformation_DoNotShip*
159-
Assets/InitTestScene*
162+
Assets/InitTestScene*
163+
gfx_log.txt

Assets/Plugins/Android/Core/AndroidConfig.cs

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,44 @@
2020
* SOFTWARE.
2121
*/
2222

23+
#if !EOS_DISABLE
24+
2325
namespace PlayEveryWare.EpicOnlineServices
2426
{
25-
// Flags specifically for Android
27+
// Flags specifically for Android. Note that labels for the baser
28+
// PlatformConfig need to be specified here.
29+
[ConfigGroup("Android Config", new[]
30+
{
31+
"Android-Specific Options",
32+
"Deployment",
33+
"Flags",
34+
"Tick Budgets",
35+
"Overlay Options"
36+
}, false)]
2637
public class AndroidConfig : PlatformConfig
2738
{
39+
[ConfigField("Google Login Client ID",
40+
ConfigFieldType.Text,
41+
"Get your project's Google Login Client ID from the " +
42+
"Google Cloud dashboard",
43+
0,
44+
"https://console.cloud.google.com/apis/dashboard")]
45+
public string GoogleLoginClientID;
46+
47+
[ConfigField("Google Login Nonce",
48+
ConfigFieldType.Text,
49+
"Use a nonce to improve sign-ing security on Android.",
50+
0,
51+
"https://developer.android.com/google/play/integrity/classic#nonce")]
52+
public string GoogleLoginNonce;
53+
2854
static AndroidConfig()
2955
{
3056
RegisterFactory(() => new AndroidConfig());
3157
}
3258

3359
protected AndroidConfig() : base(PlatformManager.Platform.Android) { }
3460
}
35-
}
61+
}
62+
63+
#endif

Assets/Plugins/Android/Core/AndroidPlatformSpecifics.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public class AndroidPlatformSpecifics : PlatformSpecifics<AndroidConfig>
5656
[DllImport("UnityHelpers_Android")]
5757
private static extern JavaVM UnityHelpers_GetJavaVM();
5858

59-
public AndroidPlatformSpecifics() : base(PlatformManager.Platform.Android, ".so") { }
59+
public AndroidPlatformSpecifics() : base(PlatformManager.Platform.Android) { }
6060

6161
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
6262
static public void Register()
@@ -109,7 +109,7 @@ public override void ConfigureSystemInitOptions(ref EOSInitializeOptions initial
109109

110110
//-------------------------------------------------------------------------
111111
[Conditional("ENABLE_DEBUG_EOSMANAGERANDROID")]
112-
static void print(string toPrint)
112+
static void Log(string toPrint)
113113
{
114114
UnityEngine.Debug.Log(toPrint);
115115
}

Assets/Plugins/Android/mainTemplate.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ apply plugin: 'com.android.library'
44
**APPLY_PLUGINS**
55

66
dependencies {
7+
implementation 'androidx.credentials:credentials-play-services-auth:1.3.0'
8+
implementation 'androidx.credentials:credentials:1.3.0'
9+
implementation 'com.google.android.libraries.identity.googleid:googleid:1.1.1'
710
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
811
implementation fileTree(dir: 'libs', include: ['*.jar'])
912
**DEPS**}

Assets/Plugins/Linux/Core/LinuxConfig.cs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,20 @@
2020
* SOFTWARE.
2121
*/
2222

23+
#if !EOS_DISABLE
24+
2325
namespace PlayEveryWare.EpicOnlineServices
2426
{
25-
using System;
26-
27-
// Flags specifically for Linux
28-
[Serializable]
27+
// Flags specifically for Linux. Note that labels for the baser
28+
// PlatformConfig need to be specified here.
29+
[ConfigGroup("Linux Config", new[]
30+
{
31+
"Linux-Specific Options",
32+
"Deployment",
33+
"Flags",
34+
"Tick Budgets",
35+
"Overlay Options"
36+
}, false)]
2937
public class LinuxConfig : PlatformConfig
3038
{
3139
static LinuxConfig()
@@ -35,4 +43,6 @@ static LinuxConfig()
3543

3644
protected LinuxConfig() : base(PlatformManager.Platform.Linux) { }
3745
}
38-
}
46+
}
47+
48+
#endif

Assets/Plugins/Linux/Core/LinuxPlatformSpecifics.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public class LinuxPlatformSpecifics : PlatformSpecifics<LinuxConfig>
5050

5151
private static GCHandle SteamOptionsGCHandle;
5252

53-
public LinuxPlatformSpecifics() : base(PlatformManager.Platform.Linux, ".so") { }
53+
public LinuxPlatformSpecifics() : base(PlatformManager.Platform.Linux) { }
5454

5555
//-------------------------------------------------------------------------
5656
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]

Assets/Plugins/Source/Editor/Build/BuildPackage.cs

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
11
/*
2-
* Copyright (c) 2021 PlayEveryWare
3-
*
4-
* Permission is hereby granted, free of charge, to any person obtaining a copy
5-
* of this software and associated documentation files (the "Software"), to deal
6-
* in the Software without restriction, including without limitation the rights
7-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8-
* copies of the Software, and to permit persons to whom the Software is
9-
* furnished to do so, subject to the following conditions:
10-
*
11-
* The above copyright notice and this permission notice shall be included in all
12-
* copies or substantial portions of the Software.
13-
*
14-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20-
* SOFTWARE.
21-
*/
2+
* Copyright (c) 2021 PlayEveryWare
3+
*
4+
* Permission is hereby granted, free of charge, to any person obtaining a copy
5+
* of this software and associated documentation files (the "Software"), to deal
6+
* in the Software without restriction, including without limitation the rights
7+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8+
* copies of the Software, and to permit persons to whom the Software is
9+
* furnished to do so, subject to the following conditions:
10+
*
11+
* The above copyright notice and this permission notice shall be included in all
12+
* copies or substantial portions of the Software.
13+
*
14+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20+
* SOFTWARE.
21+
*/
22+
23+
#if !EOS_DISABLE
2224

2325
using System.IO;
2426
using UnityEngine;
@@ -179,7 +181,7 @@ public static void ExportPlugin()
179181
// Validate file paths
180182
if (!File.Exists(jsonFile))
181183
{
182-
ExportError("JSON file \"" + jsonFile + "\" does not appear to exist.");
184+
LogError("JSON file \"" + jsonFile + "\" does not appear to exist.");
183185
}
184186

185187
// If the output directory does not exist, try and create it.
@@ -219,10 +221,12 @@ public static void ExportPlugin()
219221
/// Helper method to log and throw fatal errors that may occur during plugin export.
220222
/// </summary>
221223
/// <param name="message">The message to log / throw</param>
222-
private static void ExportError(string message)
224+
private static void LogError(string message)
223225
{
224226
Debug.LogError(message);
225227
throw new BuildFailedException(message);
226228
}
227229
}
228-
}
230+
}
231+
232+
#endif

0 commit comments

Comments
 (0)