How to configure UdpMessagingModule at Runtime

I’m interested in using the Unreal Message Bus (UMB) for a project where I’ll need to tunnel a game client to something that isn’t a game server but is listening to the UMB that lives in the cloud. The trick is that determining the IP address of that not-a-game-server will be determined at runtime and will change over time meaning I can’t just override it in DefaultEngine.ini. I’ll be able to query for the IP address at runtime so I will have access to it when I need. The existing UdpMessagingModule doesn’t appear to be set up to do that though.

Is there a way to do what I need and create a new tunnel outside of what UdpMessagingModule provides or do I need to extend it to allow for tunnels and bridges to be created outside of the module just reading it’s own config file?

Here is an example of what I’d like to do:

bool BridgeToCloud(const FString remoteAddress)
{
	FIPv4Endpoint UnicastEndpoint;
	FIPv4Endpoint MulticastEndpoint;

	if (!remoteAddress.IsEmpty())
	{
		// bridge to our remote network address
		FIPv4Endpoint::Parse(TEXT("0.0.0.0:0"), UnicastEndpoint);
		FIPv4Endpoint::Parse(remoteAddress, MulticastEndpoint);
	}
	else
	{
		// no remote address given so use localhost for development purposes
		FIPv4Endpoint::Parse(TEXT("0.0.0.0:0"), UnicastEndpoint);
		FIPv4Endpoint::Parse(TEXT("127.0.0.0:7890"), MulticastEndpoint);
	}

	TSharedPtr<IMessageTransport, ESPMode::ThreadSafe> udpTransport = MakeShareable(FUdpMessageTransport(UnicastEndpoint, MulticastEndpoint, 1));

	MessageBridge = IMessagingModule::Get().CreateBridge(FMessageAddress::NewAddress(), bus.ToSharedRef(), udpTransport.ToSharedRef());

	return MessageBridge != nullptr;
}