Skip to content

Add UE5.7 support and macOS/runtime compatibility fixes - #20

Open
mirmirkedi wants to merge 1 commit into
AF-GRILL:ue5from
mirmirkedi:ue5-macos-fixes
Open

Add UE5.7 support and macOS/runtime compatibility fixes#20
mirmirkedi wants to merge 1 commit into
AF-GRILL:ue5from
mirmirkedi:ue5-macos-fixes

Conversation

@mirmirkedi

Copy link
Copy Markdown

Changes included:

  • update plugin/module configuration for Unreal Engine 5.7
  • add explicit Win64 and macOS platform support in build and plugin metadata
  • add Blueprint-accessible runtime platform helpers for Windows/macOS checks
  • apply runtime compatibility fixes across DIS runtime components
  • include networking and socket handling improvements for cross-platform behavior
  • include supporting fixes in bundled OpenDIS/third-party sources required for successful build/runtime behavior on current toolchains

@jhuggins0214 jhuggins0214 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your pull request!

I added a few comments if you can take a look when you get a chance. Thanks!

}
}

bool ADISGameManager::ShouldIgnoreLocallySentEntityStatePDU(const FEntityStatePDU& EntityStatePDUIn) const

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ignoring self-sent packets is a good update and is a backlogged task we're tracking internally. However, this may be better suited as a UDP subsystem update that ignores all packets that are received from the same instance of Unreal Engine that sent them vs ignoring each PDU individually.

PublicDefinitions.Add("OPENDIS6_STATIC_DEFINE=1");
PublicDefinitions.Add("OPENDIS7_STATIC_DEFINE=1");
PublicDefinitions.Add("GRILL_DIS_SUPPORTS_WIN64=1");
PublicDefinitions.Add("GRILL_DIS_SUPPORTS_MAC=1");

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the updates to the DISRuntime.h, DISRuntime.cpp, and DISRuntime.Build.cs files that change .dll and .lib loading, we can't get the Unreal Engine Visual Studio solution to build on Windows anymore as it cannot find the DIS libraries. If you're on Windows could you detail any additional steps you took to get it to build on your end?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you remove the changes to the ThirdParty OpenDIS libraries? If these changes are needed, submit a pull request to the OpenDIS repository (https://github.com/open-dis/open-dis-cpp), and then once accepted the ThirdParty libraries can be updated with the new OpenDIS build. Otherwise these changes would be overwritten if/when we update to the most recent OpenDIS version.

@mirmirkedi

Copy link
Copy Markdown
Author

Thanks, I narrowed the Unreal-side part of the change set based on your review comments, but while revalidating on macOS I confirmed that the local macOS build currently depends on the ThirdParty/OpenDIS fixes as well. Without those vendor-side changes, the plugin falls back to the original Windows-oriented export macros and _MSC_VER guards, and the build fails on macOS in the OpenDIS headers.

So at this point the change set really needs to be split into two parts:

  • Unreal/plugin-side changes that are safe to review independently
    -OpenDIS/vendor-side compatibility fixes that should be proposed upstream to OpenDIS first

I'll separate those paths and avoid mixing them in one PR. The Unreal-side cleanup is straightforward, but the full macOS bring-up is not just a plugin metadata change on my end; it currently also depends on the bundled OpenDIS compatibility fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants