Compilation of Project post plugin operation outputs: Can't Find File '/Script/(PluginName)'

Hi there!

I have been working on my own version of the Fabrik Module created by a git hub community member and added to the Unreal Engine source in the 4.2 update.

Build Version: 4.2.1 - 2101290

My first task was to re-create the engine module as project content plugin. This task was designed so I would familiarize myself with the Plugin System the Unreal engine provides and allow me to create my own version of the Fabrik Algorithm without comprising the the original content.

The plugin features an instance of the Anim Graph node class that has a FabrikController USTRCUT that drives the overridden skeletal control functionality. All went well there, the plug-in builds with no errors or warnings and the Anim Graph node can be pulled into any AnimBP’s anim graph. The correct output of this node can also be seen in the preview panel situated on the left hand side of the AnimBP editor. I can also attach this AnimBP to a CharacterBP featuring the same skeletal mesh no problem. I can then run the build in play-mode and move the character around the scene while it holds the pose outputted form the Fabrik plugin (the pose has been made dramatic by default to ensure the plugin is working).

However, After this CharacterBP to AnimBP dependency has been created if I close the editor and rebuild the project hits an assertion and the following is found in the output window:

Also it should be noted if I break this CharacterBP to AnimBP dependency (by temporarily removing the AnimBP from the content folder, rebuilding then re-adding the AnimBP back in) and rebuild again it succeeds with no errors or warnings. I will attach my plugin, my project.build.cs, my relevant project config files and an example AnimBP that causes the break.

[link text][2]

Repro Steps:

  1. Include my Fabrik plugin to your project (I used the Code Third Person example), I have attached it to this post.
  2. Create an AnimationBlueprint
  3. Search for '‘s Fabrik’ in the anim graph, include this node in the anim graph and connect it to your animation output
  4. If you fill out the required fields in the node and details panel you will be able to manipulate the associate skeletal rig by adjusting the transform position value that is passed to the '‘s Fabrik’ node
  5. Assign this AnimBP to the CharacterBP in your project
  6. Play in editor (No crash will take place and you can see the output from the node)
  7. Rebuild project (this will cause the crash).

Any help regarding this issue would be greatly appreciated :slight_smile:

Thanks for reading,

B

P.S the function BoneIsChildOf() of the FBoneContainer USTRUCT located in the AnimationAsset.h is not exposed to the ENGINE_API. In my local version of the engine source I have included the ENGINE_API preprocessor macro before the definition of the function so my plugin could access it. Is this encapsulation intentional or could it be exposed in later versions of the editor? It is a great utility function and would help greatly for others when producing animation based plugins.

I have appended my project build.cs folder and included ‘Fabrik’ as an element in the public dependency module names as follows:

PublicDependencyModuleNames.AddRange(new string[] { “Core”, “CoreUObject”, “Engine”, “InputCore”, “Fabrik” });

However, that has not solved the issue. Just thought I would make note of the change.

Hey MurdoNZ,

Thanks for your report. I assigned this issue to a member of our support staff, and they will begin investigation as soon as possible. If we are unable to reproduce the issue, or we need additional information, our staff member will comment here with additional questions. Otherwise, we will post an ‘Answer’ once we have logged the issue in our bug database or we have a solution.

In the meantime, please be sure to review our suggestions for how to report a bug, and feel free to edit your post if you have additional information to provide.

Thanks,

Awesome thanks ! I still have not found a solution to the issue and look forward to any information your support staff can provide

Hi MurdoNZ,

I was able to reproduce the issue that you described. I am going to pass my observations along to our development team for some further investigation. I did have a question for you, though. You mentioned that removing your AnimBP from the project and rebuilding the project corrected the issue, then you added the AnimBP back in and rebuilt again. Did you start seeing the error message again when you added the AnimBP back into the project? I was able to rebuild fine, but debugging the project caused the same breakpoint to be triggered.

Also, I just wanted to let you know that I attempted to reproduce the issue using an internal build that is ahead of the currently available version of the Editor, and I received a few compile errors and warnings when building the project with the plugin. I am not sure exactly where the changes were implemented, but it looks like you will need to make some changes to your plugin for it to work in a future version of the Editor.

Hi !

Thanks for the response! After re-adding the AnimBP the project would rebuild with no errors or warnings. I believe this is because when deleting the AnimBP the reference that the CharacterBP has to AnimBP is removed. However, if the relationship between the two blueprints is re-established the crash would occur again. I believe that it is this relationship post inclusion of the '‘s Fabrik Node’ that causes the error.

Quick order of operation for clarity sake :slight_smile:

  1. Include plugin
  2. Create Anim BP
  3. Include 's Fabrik node
  4. Rebuild - This will succeed
  5. Assign AnimBP to Character BP
  6. Rebuild - This will fail
  7. Remove AnimBP from project content folder and store somewhere
  8. Rebuild - This will succeed
  9. Replace AnimBP in the project content folder
  10. Rebuild - This will succeed
  11. Re-Assign AnimBP to CharacterBP
  12. Rebuild - This will fail.

Ah Ok thanks for the heads up! Do you know if it was a linker error? I built my plugin using my own modified engine source, I only made a small change and included the ENGINE_API precompiler macro to the function I mentioned in the P.S. of my original post. If that function is not exposed to the api in the new version of the engine it will throw an error upon compilation.

Hey all!

This problem was fixed when updating to 4.3! Unreal now has no trouble using an Animation blueprint with references to the FABRIK plugin.