Why isn't my engine source code change taking effect?

I’ve changed the lobby distance in the steam subsystem plugin before for the engine source code but for some reason I cannot get it to work with 5.0 or 5.1. Despite compiling the changes it doesn’t get applied when I make an executable. I have no idea what is going on. Before you ask, yes I cloned the source from github so it is in fact an engine source build I’m modifying. I’m going nuts trying to understand why it isn’t being applied.

What compile mode are you set for compiling, and what executeable are you running?

Development build and I’m compiling the engine source using the same settings epic recommends UE5 and win64. The only thing I’m modifying is the steam sub system plugin. There’s a hard coded in value for the engine source code for lobby distance filter. I changed the filter to world, and I’ve tested this before and it worked. I recently tested older versions of my project using a VPN and now they’re no longer working as well. I’m wondering if Steam is doing something on their end, because now I can’t even get older builds to work on World lobby filter settings.

image

https://partner.steamgames.com/doc/api/ISteamMatchmaking#ELobbyDistanceFilter

Despite compiling the engine source with this setting change, it seems to only apply the default setting that was there before. The default setting is nearby regions.

I would set a breakpoint on that line, and then run it in the debugger and see if it even stops there.

Just to rule out some beginner mistakes, some questions:

  1. Are you building engine from source?
  2. Where is the plugin folder located?

Reason is, if you are not building engine from source AND you plugin is located in engine’s plugin folder, then it won’t build. In that case you need to copy your plugin folder from engine level to project level (MyProject/Plugins)

It’s the engine plugin Steam subsystem. That is why I had to clone the Engine source code from the repo. It’s located in Plugin/Online/OnlineSubsystemSteam/

image

I compiled both the source and the project code and ran the project code with the Engine source, then created the executable.

I’ve even tried doing this Building Plugins | Community tutorial and moved the plugin back into the engine source and compiled it again, created the executable again, and still no change. Used VPN and still blocks lobbies outside of North America.

How would I do that when I need to run my project in order to test that? As soon as I open my project with the source engine the debugger disappears. I’ll try debugging from my project code I guess.

Edit- I don’t ever use break points so I’m not sure what I’m doing wrong but I couldn’t even get my project code to hit the break point in areas they should hit. I’m not sure if it’s because I’m running the game in stand alone.

Ah, apologies. Didn’t notice you mentioned that on your initial post.

If you’re not sure whether changes in general taking effect or not, you can run with debugger attached (as eblade mentioned) or log some data. Or simply change something obvious and see if it takes effect. If changes do work in general, then it’s specifics of online-subsystem that we are probably not aware of. I don’t have experience working with it, so can’t help much.

Regarding debugger problem you mentioned:
You still can run debugger on your project with an engine you built. There shouldn’t be issues when opening your project solution and running debug mode from there. It has to use your compiled engine to run the project by default.

If there is still a problem though, you can open your Engine’s solution and run it with additional command arguments (Debug{UE5 solution name} Debug Properties), adding the path to your project’s .uproject file will open that project.

If all fails, logging could be a way to learn what’s going on.

Hope someone with experience in that plugin and networking can chime in and give more specific advise.

Hope this helps :slight_smile:

I’ll try that thanks. I usually just use logs for debugging already so I might just do that to see if that code is even triggering.