First Time Creating A Plugin Need some Advice.

So,I am Thinking about Doing a Marketplace Asset, Most of the Content I have seen on the Marketplace is made with BPs which are just drag and drop UAsset files. Since I am going to make mine in C++ (For Performance and abstraction Purposes) I know that C++ Files Need to be Recompiled once you move them, That is not a good extra step for people who want ease of use from that I did some googling and it seems that Plugins don’t Need to recompile, they work simply by enabling in the plugin menu.

I found some articles regarding how to create plugin so that is not a problem.
my main doubt is the Content of plugin Most of the plugins I see on Market place change or extent the engine Content, Mine is to be Just a Asset That contains Character Controllers, AI, Weapons, Sounds and Models (Like a Standard Asset but in C++) is this possible?

And another thing like mentioned above the Cpp files will go into plugin but can the other uasset go there as well? the models and sounds and of course the Blueprint that is derived from the base Cpp class?

If it’s a code plugin you need to ship the compiled version and the source of the plugin.

Here are the full guidelines:

First, on compiling: You are right that plugins should be distributed with precompiled binaries. However, Epic will compile the binaries themselves (as noted in the guidelines linked above). All you have to do is upload the Source code files and the .uplugin file (Config and Resources folders too, if you have them). To make sure your plugin will pass Epic’s compiler test, open the Plugins menu from the Editor, navigate to your plugin, and press “Package.” If packaging fails, it means your code needs to be fixed before Epic will accept it.

Second, on assets: Add custom assets to a folder called “Content” in your plugin folder. These assets will be specific to your plugin. You also have to set “bCanContainContent = true” in your .uplugin file.

Thanks for the Answers guys.

Also worth noting that if for any reason your users don’t get a pre-compiled binary (such as if you’re not distributing via the marketplace), they can always do it on editor start-up themselves. For the same reason you don’t need to commit plugin binaries to source control.

The only time this is a problem is when you’re developing for iOS on Windows, where you still need a Mac to compile the iOS binaries you want to assemble when packaging a project on a Windows device. Generally it’s enough to get someone else to do it for you as a once-off, provided the code they’re based on doesn’t change.