Use Game Feature Plugins In Another Project

I have created a C++ Game Feature Plugins for Combat Mechanics in one of my project. Now I want to use that plugin in ANOTHER new project. How do I do that?
I tried to manually copy paste it but it would not work due to the C++ based blueprint assets is tied to the old project name.
Using Migrate to move the plugin is also not convenient:

  • Firstly, we need to manually recreate the game feature plugin in the new project (including manually adding the description, name, etc) in order to have the “Content” directory in the plugin folder for the Migrate feature to work
  • Secondly, the C++ blueprint based asset is still tied to the old project’s name.

Right now the way I am doing it is the second method, where I recreated the plugin in the new project and manually recreate the C++ blueprint assets.
Is there a better way or an actual standard practice for migrating Game Features Plugins to other project because the way I’m doing it is inconvenient and annoying honestly. (Imagine if I have 100+ C++ based blueprint assets)

All discussions are welcome and hopefully someone can help to provide an answer.

Thanks.

Just had a thought, would packaging work in this case?
I’m just starting out so I do not have any experience packaging anything (yet) but would it work for this scenario?

I can not understand your situation well. What’s meaning of “tied with project name”? And, after I read what you wrote, I thought that core redirection might be helpful.

So I use Asset Actions → Migrate for the contents in the plugins to move to the new project plugin’s content directory.
However, in the new project the data assets is unable to be open or used.
image
In the image, we can see that it is still pointing to /Script/CombatPrototype.CPP_InputConfig (This image is from the new project UE5 content browser)
CombatPrototype is the name of the initial project that I was working in. Now I want to move this plugin into a new project but the data assets are not working.

1 Like

No. That “CombatPrototype” is not project name. That name is the name of the “Module” :smiley: The project can have many module, and first module has same name as the project =) Also I think that what you need is the “core redirect”, so I suggest to search about it. And, I suggest to search about relationship within module, plugin, project. I hope your luck.

1 Like

Ah, this could be helpful. Search with “reparenting class of blueprint”

1 Like

I am pretty sure it is the project name as it derives the data asset class from the project C++ file. (CPP_InputConfig is a C++ Class in the project’s source folder, not the plugin’s source folder)


From here we can see that the plugin’s name is HandtoHandCombat. I thought that modules are the same as plugins? I’ll need to do more studying on that that’s for sure haha.
I’ll also go and study up on core redirect and how to reparent class of blueprints.

Thanks for your replies and suggestions.

1 Like

It seems like Core Redirect is what I needed to fix this issue but I would need to test it out to confirm that it works.

This is weird. So there are 2 data assets deriving from C++ class.
One of them has an option to ‘Convert to Different DataAsset Type’ while the other does not. Using this option has solve my issue for one of the data asset class but the option is not showing up for the other data asset.
Noting this here for future references. Also yes both are Data Asset class in the original project.


^This has the convert to different data asset type option


^This does not

You could try and make it a Content Only Plugin:

To solve a problem like this, it’s good to make a small sample to reproduce symptoms. I suggest making a small empty project that has a different project name, module name, and plugin name, and the names of its derived elements are different from each other. And try to rename that (with core-redirect?) It will make it faster to test and learn.

And, sometimes I experience confusion about those, too, as same as your situation. (This means the information that I gave you could be wrong :frowning: ) You are not alone :slight_smile: I wish you good luck.