Code Monkey home page Code Monkey logo

steambridge's Introduction

SteamBridge

GitHub All Releases Jenkins

A UE4 implementation of the Steamworks API.

Interface Completed Notes
ISteamApps ✔️
ISteamFriends ✔️ [1] (1)
ISteamGameServer ✔️ [1] (4)
ISteamGameServerStats ✔️ [1] (2)
ISteamHTMLSurface ✔️
ISteamHTTP ✔️
ISteamInput ✔️
ISteamInventory ✔️ [1] (2)
ISteamMatchmaking ✔️
ISteamMatchmakingServers ✔️ [1] (10)
ISteamMusic ✔️
ISteamMusicRemote ✔️ [1] (2)
ISteamNetworkingMessages
ISteamNetworkingSockets
ISteamNetworkingUtils
ISteamParties ✔️
ISteamRemotePlay ✔️
ISteamRemoteStorage ✔️ [1] (5)
ISteamScreenshots ✔️
ISteamUGC ✔️ [1][3] (3/3)
ISteamUser ✔️
ISteamUserStats ✔️ [1] (1)
ISteamUtils ✔️ [1] (3)
ISteamVideo ✔️
SteamWeb [2]
  • [1] Some methods were left out temporarily and will be added eventually.
  • [2] Steam Web API will come after the core interfaces are implemented and are stable.
  • [3] Some methods that were left out are added in a newer sdk version so thery're unable to be added at the current version.

Another note for [1]. I'm skipping some methods that will take a while to implement. I'm doing this so I can add most of the functionality quickly. If you need a specific method that isn't in the plugin then post an issue or add it yourself and submit a Pull Request.

Installation

Go to the releases page and download a release, or use Git and clone the repo into your Plugins folder.

Usage

Using SteamBridge is actually really easy.

  • Edit your DefaultEngine.ini and make sure the Steam config exists like here.
  • Open your project and start using SteamBridge.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Make sure you abide by our Code Guidelines.

Please work out of develop branch. Keeping main stable is a priority.

License

MIT

steambridge's People

Contributors

trdwll avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

steambridge's Issues

Plans/Ideas/Thoughts

In general, I want this to be as close to a 1:1 as much possible. However, maybe a branch for a light version with methods renamed or even do that as the main branch? (for example BLoggedOn renamed to IsLoggedOn etc)

Remove unnecessary params. I've already done this and have been, but it's possible that I've missed some. (this could be stuff like bufferlen - where we can just pass MAX_uint32, etc instead)
Re-evaluate whether methods should be const or Pure. (ie (BlueprintCallable, BlueprintPure=false) or (BlueprintPure))
Determine what methods should be async if any or even if the entire library should be converted to async. Possible future plan? Facepunch.Steamworks does this.
Convert timestamps (int32/uint32) to FDateTime for easier management?
Convert for loops to range-based for loops where it makes sense.

Add a project to test functionality and to show examples of how to implement things.

What else? Let me know your thoughts.

Crashing with "Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000"

I get Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000 grabbing the steam id from launching the game within the viewport. If I launch the game outside of the editor, it seems to run fine. I assume this is because it is trying to grab the steam ID, and that is not standard functionality within the editor.

UE4Editor_CoreUObject!UFunction::Invoke() [G:\UnrealEngine\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:5588]```

4.26.2 and develop branch of plugin

Crashing in USteamFriends::GetFriendMessage

I have discovered that the function USteamFriends::GetFriendMessage seems to always crash. After some poking around I figured out that changing the uses of MAX_int32 to a much smaller number fixes this crash.
It seems to me that it should not have been trying to allocate an array of that size anyway.
This is the relevant lines from your version:

	TmpMessage.SetNum(MAX_int32);
	int32 res = SteamFriends()->GetFriendMessage(SteamIDFriend, MessageIndex, TmpMessage.GetData(), MAX_int32, &TmpEntryType);

And this is after my change:

	const int32 MaxMessageLength = 2048;
	TmpMessage.SetNum(MaxMessageLength);
	int32 res = SteamFriends()->GetFriendMessage(SteamIDFriend, MessageIndex, TmpMessage.GetData(), MaxMessageLength, &TmpEntryType);

But before I make a pull request about this, I was wondering if you have a better number to use. I used 2048 in my local repo and that worked fine. (I actually tested by messaging a steam friend in an in-game chat window and displayed their messages back.)
If there is a defined max length to messages that steam allows that would be ideal.

Update 4.27.2

Hello, is there a way to update the plugin to the latest version?

Fails to compile while installing other plugins

While installling the RiderLink plugin the SteamBridge files throw up a lot of errors for missing categories

Running: G:\Epic Games\UE_4.26\Engine\Binaries\DotNET\UnrealBuildTool.exe UE4Editor Win64 Development -Project=C:\Users\USER\AppData\Local\Temp\UnrealLink\Siduzaf\HostProject\HostProject.uproject -plugin=C:\Users\USER\AppData\Local\Temp\UnrealLink\Siduzaf\HostProject\Plugins\RiderLink\RiderLink.uplugin -iwyu -noubtmakefiles -manifest=C:\Users\USER\AppData\Local\Temp\UnrealLink\Siduzaf\HostProject\Saved\Manifest-UE4Editor-Win64-Development.xml -nohotreload -log="C:\Users\USER\AppData\Roaming\Unreal Engine\AutomationTool\Logs\G+Epic+Games+UE_4.26\UBT-UE4Editor-Win64-Development.txt"
  Parsing headers for UE4Editor
    Running UnrealHeaderTool "C:\Users\USER\AppData\Local\Temp\UnrealLink\Siduzaf\HostProject\HostProject.uproject" "C:\Users\USER\AppData\Local\Temp\UnrealLink\Siduzaf\HostProject\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="C:\Users\USER\AppData\Roaming\Unreal Engine\AutomationTool\Logs\G+Epic+Games+UE_4.26\UHT-UE4Editor-Win64-Development.txt" -installed
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(49) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(279) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(282) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(285) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(288) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(301) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(304) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(317) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(320) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(323) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(336) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(339) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(342) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(345) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(376) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(379) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(402) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(405) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(408) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(411) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(414) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(429) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(432) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(435) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(438) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(441) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(444) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(447) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(450) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(453) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(456) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(459) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(462) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(465) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(468) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(471) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(474) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(477) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(480) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(483) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(486) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(489) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(492) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(495) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(498) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(501) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(504) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(522) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(525) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
  G:/Epic Games/UE_4.26/Engine/Plugins/Marketplace/SteamBridge/Source/SteamBridge/Public/SteamStructs.h(528) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.
Took 111.2462835s to run UnrealBuildTool.exe, ExitCode=6
UnrealBuildTool failed. See log for more details. (C:\Users\USER\AppData\Roaming\Unreal Engine\AutomationTool\Logs\G+Epic+Games+UE_4.26\UBT-UE4Editor-Win64-Development.txt)
AutomationTool exiting with ExitCode=6 (6)
BUILD FAILED

Error: cast to 'const char *' from smaller integer type 'char'

SteamBridge\Public\Core\SteamRemotePlay.h(65,63): error: cast to 'const char *' from smaller integer type 'char' [-Werror,-Wint-to-pointer-cast]

FString GetSessionClientName(int32 SessionID) const { return UTF8_TO_TCHAR(*SteamRemotePlay()->GetSessionClientName(SessionID)); }

This should probably be
FString GetSessionClientName(int32 SessionID) const { return UTF8_TO_TCHAR(SteamRemotePlay()->GetSessionClientName(SessionID)); }

instead (remove the dereference of the result of GetSessionClientName) because UTF8_TO_TCHAR casts the input as a pointer.

UE 4.27.2

I cant build the plugin with UE 4.27.2

Set code to check what SteamSDK is installed (dont know if it is relevant)

I just wondered if its possible to set the sdk directly in code instead of having a locked version as I see in the plugin?
a version check and set the current as default?
I know in a project I was a part of earlier that was in C tho, we had some kinda version checks on certain things so it got automated..
But I am a Blueprinter in ue and not a c++ coder so its just a question

Updating to UE 5.2+

Hello. I was attempting to update the develop branch to work with 5.2 and would like to share my progress below. I'm still having one error with the GetTypeHash if you know how to fix this.

SteamBridge Develop Branch | UE 5.2 | Steamworks SDK 1.53
------------------------------------------------------------------------------------------------------

- SteamInput.h: 	Rename "GetGlyphForActionOrigin" to "GetGlyphForActionOrigin_Legacy".
- SteamInput.h: 	Rename "TriggerHapticPulse" to "Legacy_TriggerHapticPulse".
- SteamInput.h: 	Rename "TriggerRepeatedHapticPulse" to "Legacy_TriggerRepeatedHapticPulse".
- SteamGameServer.h: 	Rename "EnableHeartbeats" to "SetAdvertiseServerActive".
- SteamGameServer.h: 	Remove/Comment Out "ForceHeartbeat" & "SetHeartbeatInterval". They were removed in new version.

------------------------------------------------------------------------------------------------------

ERROR: 'ISteamInput::Init': function does not take 0 arguments

SteamInput.h

Change:
	bool Init() { return SteamInput()->Init(); }

To:
	bool Init(bool bExplicitlyCallRunFrame) { return SteamInput()->Init(bExplicitlyCallRunFrame); }

I don't know if this is correct but it fixes the error and is specified in "isteaminput.h" of the SDK. 

------------------------------------------------------------------------------------------------------

SteamInventory.cpp (Line 42)
There is a GetTypeHash error on FSteamItemDef when using TMap inside of ExchangeItems and GenerateItems. 

------------------------------------------------------------------------------------------------------

ESteamChatMemberStateChange (SteamBridge/Public/SteamEnums.h) enum value incorrect

According to the doc https://partner.steamgames.com/doc/api/ISteamMatchmaking#EChatMemberStateChange, this enum should be:

`
//include Steamv147/sdk/public/steam/isteammatchmaking.h

UENUM(BlueprintType, meta = (Bitflags))
enum class ESteamChatMemberStateChange : uint8
{
None = 0,
Entered = EChatMemberStateChange::k_EChatMemberStateChangeEntered UMETA(DisplayName = "Entered"),
Left = EChatMemberStateChange::k_EChatMemberStateChangeLeft UMETA(DisplayName = "Left"),
Disconnected = EChatMemberStateChange::k_EChatMemberStateChangeDisconnected UMETA(DisplayName = "Disconnected"),
Kicked = EChatMemberStateChange::k_EChatMemberStateChangeKicked UMETA(DisplayName = "Kicked"),
Banned = EChatMemberStateChange::k_EChatMemberStateChangeBanned UMETA(DisplayName = "Banned"),
};

ENUM_CLASS_FLAGS(ESteamChatMemberStateChange)
`

LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.

UnrealEngine/Engine/Plugins/SteamBridge-1.0.4-Release/Source/SteamBridge/Public/SteamStructs.h(49) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.

I get many of these errors when trying to compile the plugin with the 4.26.2 Engine from source. Plugin version 1.0.4. Is this not supposed to be how it works? I've been installing plugins directly to work with them more easily across projects.

Steam bridge not exporting for linux

PackagingResults: Error: field 'Type' is uninitialized when used here [-Werror,-Wuninitialized]
PackagingResults: Error: field 'Type' is uninitialized when used here [-Werror,-Wuninitialized]
PackagingResults: Error: field 'Type' is uninitialized when used here [-Werror,-Wuninitialized]
PackagingResults: Error: field 'Type' is uninitialized when used here [-Werror,-Wuninitialized]
PackagingResults: Error: cast to 'const char *' from smaller integer type 'char' [-Werror,-Wint-to-pointer-cast]
PackagingResults: Error: cast to 'const char *' from smaller integer type 'char' [-Werror,-Wint-to-pointer-cast]
PackagingResults: Error: field 'Type' is uninitialized when used here [-Werror,-Wuninitialized]
PackagingResults: Error: cast to 'const char *' from smaller integer type 'char' [-Werror,-Wint-to-pointer-cast]
PackagingResults: Error: field 'Type' is uninitialized when used here [-Werror,-Wuninitialized]
PackagingResults: Error: field 'Type' is uninitialized when used here [-Werror,-Wuninitialized]
PackagingResults: Error: cast to 'const char *' from smaller integer type 'char' [-Werror,-Wint-to-pointer-cast]
PackagingResults: Error: field 'Type' is uninitialized when used here [-Werror,-Wuninitialized]
PackagingResults: Error: field 'Type' is uninitialized when used here [-Werror,-Wuninitialized]
PackagingResults: Error: field 'Type' is uninitialized when used here [-Werror,-Wuninitialized]
PackagingResults: Error: field 'Type' is uninitialized when used here [-Werror,-Wuninitialized]
PackagingResults: Error: Unknown Error

this is the error i get i have exported this project does export without steambridge

Documentation

is there more documentation for this or is this it
Its an awesome job tho

Assertion failed Errors on -game test

when i started testing the game using the engine shortcut method with project directory and -game command line argument
the game crash with this error whenever i do things releated to steam
Assertion failed: IsInGameThread() || IsInSlateThread() [File:A:/UE4.26 Source/Engine/Source/Runtime/SlateCore/Private/Widgets/SWidget.cpp] [Line: "1119]" Slate can only be accessed from the GameThread or the SlateLoadingThread!
any idea why
im using ue4.26.2 source version with the plugin development branch

Multiplayer with matchmaking

Hello, i'm currently starting work on a multiplayer game, do you think, is it possible to make multiplayer game with matchmaking using this plugin?(sorry for my bad english, english is not my native language)

Errors C4369, C4309, C4340 When Trying to Compile with UE 4.27.2, Seemingly Too Many Input Actions (More than 256)

I get the following errors when trying to compile with Unreal Editor 4.27.2 (engine, not project).:

Error	C4369	
'ESteamInputActionOrigin::PS5_RightPad_DPadSouth':  enumerator value '256' cannot be represented as 'unsigned char', value is '0'
UE4	
\SteamBridge\Source\SteamBridge\Public 
\SteamBridge\Source\SteamBridge\Public\SteamEnums.h	786	
Error	C4309	
'initializing': truncation of constant value	
UE4	
\SteamBridge\Source\SteamBridge\Public	
\SteamBridge\Source\SteamBridge\Public\SteamEnums.h	786	
Error	C4340	
'PS5_RightPad_DPadSouth': value wrapped from positive to negative value	
UE4	
\SteamBridge\Source\SteamBridge\Public	
\SteamBridge\Source\SteamBridge\Public\SteamEnums.h	786	

I just removed all the PS5 Inputs in that section as a quick remedy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.