Hello,
After reading this topic Build an application that use C++ class for Parrot Sphinx - #4, I understand that “The Parrot-customized UE Editor goal is to let users create their own 3D environment. It is not meant to create an Unreal project that contains its own Game objects”
However it would not take a lot of work to let the developer create their own project with their own game objects and C++ code. I’ll explain why :
I watched how the “parrot-ue-build-app” script was made and why I couldn’t add C++ code to my project (even adding a custom plugin with c++ code was not possible, however, it is possible to create game objects with blueprint code).
The reason why it is not possible, is because the “parrot-ue-build-app” script doesn’t actually perform a full build of the UnrealApp, but rather an iterative build over a prebuilt version of the UnrealApp, packaged with the plugins : GzUE4Bridge, Sphinx, ActorMovementSystem and ImGui. The prebuilt is contained in the archive /opt/parrot-ue-sdk/prebuilt-2.15.1.tar.
I extracted this archive and the Plugins subfolder. I placed it in my own Unreal Project Plugins subfolder. I also added a Source subfolder for each plugin with build.cs file (with the option bUsePrecompiled=true) and plugin definition files ([PluginName].h and [PluginName].cpp) to make it work. I was able to launch the editor with your plugin content visible as you can see in this screenshot :
I was also able (after using the GzUE4GameMode and my own GameInstance, taken from the sources of your parrot-ue-sdk) to launch the parrot sphinx simulator INSIDE the editor (which was not possible with your SDK, because you actually add these plugin at packaging time) :
I am also able to add my own C++ code as shown in this screenshot :
Hower I am now unable to package my app because your precompiled plugins are actually incomplete : it lacks the Intermediate folder for each plugin (containing manifest file, needed for packaging the project without the editor) :
We really need a prebuilt version of your plugins (GzUE4Bridge, Sphinx, ActorMovementSystem and ImGui), for many reasons :
- More control over the application, possibility to include C++ code and build your own app instead of using a prebuilt one
- Possibility to eventually subclass important classes (GameMode, Pawn, HUD)
- Possibility to reuse your assets inside your plugins
How to deliver a prebuilt version of a plugin :
- Package Plugin (Binary + Header) - Missing precompiled manifest - #2 by codewing - Plugins - Epic Developer Community Forums
- Plugins | Unreal Engine Documentation
Is it possible to have a precompiled version of your plugins ? It is really important for my use case because I really need to integrate custom c++ code inside my project in order to integrate a middleware Third Party library to dynamically create Actors (driven by a custom external program) inside my simulation.
Thank you for your attention.