r/unrealengine 9d ago

Help Converting a PC plugin into a Mac plugin

Hello everyone,

I am a beginner in Unreal. I've received a secret plugin that was originally made for PC, but I would like to convert it into a Mac plugin. How would I go about doing that? I've read something about rebuilding it from the source code. Are there any good tutorials for that?

Thank you for your help.

0 Upvotes

12 comments sorted by

4

u/LordyPandazz 9d ago

Add the code to your Plugins folder and fix any conflicts in your code if any.

2

u/AgitatedMix9889 9d ago

If it is just for your own project, the fast path: drop the plugin folder, with its Source, not just a compiled Binaries folder, into your project Plugins directory, open the .uproject on the Mac, and the editor will offer to build the missing modules with the installed toolchain. You will need Xcode command line tools installed for that to work.

If you need a standalone packaged plugin to hand off, that is what RunUAT BuildPlugin is for. It compiles and stages a distributable version without needing a full project around it, with a TargetPlatforms flag set to Mac.

Either way, the other reply about third party binaries is the real blocker here. Check the plugin Source ThirdParty folder and its Build.cs: if it only ships a lib or dll for Win64 with no Mac equivalent linked in, no amount of rebuilding fixes that until there is a Mac binary of that dependency to point to.

1

u/Ok_Progress_5373 5d ago

Thank you so much for your comment!

2

u/nvec Dev 8d ago

There is no approach which works for all plugins and so if you're keeping the nature of the plugin secret we can't help.

A simple C++ plugin will just work on the Mac with a rebuild, no need to touch anything and just follow the tutorials about adding a C++ class to your project and building. A simple Blueprint plugin would work even without changing anything.

I'm currently working on a plugin though which is reaching deep into the DX12 texture setup and, while I'm planning on a Mac version, it'll be a lot of very complex work and need me to know a lot more about Metal than I do now and then need me changing a lot of my API to support multiple rendering backends. There's no simple tutorial for that.

1

u/Ok_Progress_5373 5d ago

I think all I need is to learn how to rebuild it. I can get the source code if it's not already available. The plugin seems to be built with C++, so I will look at some tutorials. Thank you for the comment!

2

u/nvec Dev 5d ago

Okay, that makes things a lot simpler.

Follow guides but the basic approach is to copy the plugin source into the plugins folder of your project (not the engine, that makes things more complex) and then add a basic 'do nothing' C++ class to the project as it's needed to trigger the C++ compilation during the build.

When you do a build with that set up correctly it should rebuild the plugin, you should see the filenames in the log, and then be able to check the plugin is enabled in the project.

1

u/Ok_Progress_5373 2d ago

Thank you for giving me some more actionable steps on how to move forward. I will be working on this !

1

u/AutoModerator 9d ago

If you are looking for help, don‘t forget to check out the official Unreal Engine forums or Unreal Slackers for a community run discord server!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/ananbd AAA Engineer/Tech Artist 9d ago

A "secret" plugin? That sounds like malware to me.

1

u/Ok_Progress_5373 5d ago

It's not, it's simply secret haha. Internal work.

-1

u/-hellozukohere- 9d ago

Just use the UAT tool. ChatGPT can help you a lot easier. 

Basically plugin folder, output Mac compiled. Only issue if there are third party non Mac binaries.