trdwll / SteamBridge

An Unreal Engine implementation of the Steamworks API.
https://trdwll.com/experiments/steambridge/
MIT License
133 stars 20 forks source link

Updating to UE 5.2+ #28

Open kabassmusic opened 1 year ago

kabassmusic commented 1 year ago

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. 

------------------------------------------------------------------------------------------------------
kabassmusic commented 10 months ago

If you are updating to 5.3 with a new project, the build for SteamStructs will fail talking about Error C2666.

To fix it, go to your "Target.cs" files and change: BuildSettingsVersion.V4; to BuildSettingsVersion.V2;