Unlocking "PROJECT_SCOPE:" access to modules

Hi,

I’d like to know if there is a way around how the modules block class functions and members using PROJECT_SCOPE: defines.

For example for FOnlineSessionInfoSteam…
PROJECT_SCOPE: is defined to be either public: or protected: based on the idea that classes with in the module have public access and all classes outside of the module have protected access. So, If would like to create a simple OnlineSessionInfoSteam from within my project I can’t.

I tried adding “Definitions.Add(“ONLINESUBSYSTEMSTEAM_PACKAGE=1”);” to my project CS file to give me access but it doesn’t work. How can I go around this constraint without modifying the engine code?

I understand that the idea is to funnel everything to an agnostic platform online system, but it doesn’t do it well that way. I have to do all of these work arounds to join steam games. For example, I know what my session info is to send to my steam friends but I can’t simply send the info and create the sessioninfo to join because I’m blocked from the package_scope. Instead, I have to do an extra steam search to find my friends game, because the SessionInfo can only be created within the module’s design. The only way to do it is to do these unnecessary find sessions calls, filter them, and then access the results.

The Steam system would be much easier to work with if we can create our own FOnlineSessionInfoSteam & FInternetAddrSteam.

Thanks for any insight on working around this problem.

Same question. Trying to access FOnlineSesionInfoSteam as well