diff --git a/.github/workflows/docs_check.yml b/.github/workflows/docs_check.yml index 16ec27a4..5b0b62d8 100644 --- a/.github/workflows/docs_check.yml +++ b/.github/workflows/docs_check.yml @@ -20,8 +20,10 @@ jobs: python-version: 3.x - uses: actions/cache@v4 with: - key: ${{ github.ref }} - path: .cache + key: docs-${{ github.ref }} + restore-keys: docs- + path: | + .venv - run: bash docs_build.sh - run: python -m mkdocs build working-directory: ./Docs \ No newline at end of file diff --git a/Docs/docs/samples/basic/steam-demo.md b/Docs/docs/samples/basic/steam-demo.md index 2a29f3d1..c8dd7397 100644 --- a/Docs/docs/samples/basic/steam-demo.md +++ b/Docs/docs/samples/basic/steam-demo.md @@ -55,7 +55,12 @@ Now, you'll need to configure a Beamable realm so you can use it: 15. In main folder (in the built game's folder where the executable is) create `steam_appid.txt` file with Steam Application ID as only content. Now, you are ready to sign into a game using Steam. -## Playing the sample through PIE + +## Playing the sample + +!!! warninig "Starting the sample" + Testing the Steam integration from the editor should be performed in `Standalone Game` mode. Steam integration can encounter challenges when running in PIE mode. + In order to test the sample: @@ -65,7 +70,8 @@ In order to test the sample: #### What can you do with this sample? -**This sample is NOT a template you can start your own repository from.** +!!! warning + This sample is NOT a template you can start your own repository from. However, its Beamable code components are free for you to copy and use in your own project. Here's what these are: diff --git a/Plugins/BEAMPROJ_SteamDemo/Content/Widgets/SteamLoginScreen.uasset b/Plugins/BEAMPROJ_SteamDemo/Content/Widgets/SteamLoginScreen.uasset index 9cf18280..ee593995 100644 --- a/Plugins/BEAMPROJ_SteamDemo/Content/Widgets/SteamLoginScreen.uasset +++ b/Plugins/BEAMPROJ_SteamDemo/Content/Widgets/SteamLoginScreen.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec621a0a9a83a04a80e3d03f6624cd352785e1efa7e3b1662790fb9d426fdf12 -size 71381 +oid sha256:340c5bd2b199c698bc78bca79fdd9c1ba286b9c9a9fdcbe31e5140c85ebb07dc +size 75097 diff --git a/Plugins/BEAMPROJ_SteamDemo/Source/BEAMPROJ_SteamDemo/Public/SteamDemoMainMenu.h b/Plugins/BEAMPROJ_SteamDemo/Source/BEAMPROJ_SteamDemo/Public/SteamDemoMainMenu.h index cf3e3d81..b789598b 100644 --- a/Plugins/BEAMPROJ_SteamDemo/Source/BEAMPROJ_SteamDemo/Public/SteamDemoMainMenu.h +++ b/Plugins/BEAMPROJ_SteamDemo/Source/BEAMPROJ_SteamDemo/Public/SteamDemoMainMenu.h @@ -85,7 +85,13 @@ class BEAMPROJ_STEAMDEMO_API USteamDemoMainMenu : public UBeamLevelSubsystem UFUNCTION() void OnBeamableUserReady(const FUserSlot& UserSlot) { - UE_LOG(LogTemp, Warning, TEXT("SteamDemoLogs Initializing after beamable Ready")); + if (GetWorld()->WorldType == EWorldType::PIE || GetWorld()->WorldType == EWorldType::Editor) + { + UE_LOG(LogTemp, Error, TEXT("SteamDemoLogs, This sample cannot be tested from PIE or Editor, it is required to run as Standalone.")) + this->OnLoginCompleteDelegate.Broadcast(false,TEXT("This sample cannot be tested from PIE or Editor, it is required to run as Standalone.")); + return; + } + UE_LOG(LogTemp, Warning, TEXT("SteamDemoLogs Initializing OnBeamableUserReady")); UGameInstance* GameInstance = GetWorld()->GetGameInstance(); UBeamRuntime* Runtime = GameInstance->GetSubsystem(); FUserSlot TargetSlot = FUserSlot(TEXT("Player0")); @@ -93,15 +99,16 @@ class BEAMPROJ_STEAMDEMO_API USteamDemoMainMenu : public UBeamLevelSubsystem const bool userGrabbed = UserSlots->GetUserDataAtSlot(TargetSlot, User, this); if (!userGrabbed) { - UE_LOG(LogTemp, Error, TEXT("SteamDemoLogs, NO USER!")) + UE_LOG(LogTemp, Error, TEXT("SteamDemoLogs, Failed to get the Beamable User Data!")); + this->OnLoginCompleteDelegate.Broadcast(false,TEXT("Failed to get the Beamable User Data")); return; } const auto AccountID = User.AccountId.AsString; ISteamUser* SteamAccount = SteamUser(); if (!SteamAccount) { - UE_LOG(LogTemp, Error, TEXT("SteamDemoLogs, NOT A STEAM USER")) - this->OnLoginCompleteDelegate.Broadcast(false,TEXT("NOT A STEAM USER")); + UE_LOG(LogTemp, Error, TEXT("SteamDemoLogs, Steam User is null. Check if the Steam SDK is initialized correctly and the game has valid settings.")) + this->OnLoginCompleteDelegate.Broadcast(false,TEXT("Failed to get Steam user info. Check if the Steam SDK is initialized correctly and the game has valid settings.")); return; }