自分で作ったAnimNodeを無事にエディタープレヴューかスタンドアロンゲームで使えるが、パッケージビルドだと落ちる

添付したプロジェクトをご覧頂ければ、ソースに二つのモジュールがあります:ランタイム用の「CustomAnimNode」、エディター用の「CustomAnimNodeEditor」との二つモジュールです。なので、それぞれには「AnimNode」、「AnimGraphNode」の様なクラスファイルも入っています。

テストするため、簡単なブループリントも作成しました。これは自分の作ったAnimGraphNodeを使っています。詳しくは「test_anim_bp」をご覧ください。

「エディター」か「スタンドアロンゲーム」でも実行すると無事に動けそうですが、パッケージ化して実行すると起動する時にいつも以下のエラーが出てきます:

[File:D:\Build\++UE4+Release-4.16+Compile\Sync\Engine\Source\Runtime\Core\UObject\Private\UObject\ScriptCore.cpp][Line: 435]
      Unknown code token FF
                      test_anim_bp_C
     /Game/TestMap.TestMap:PersitentLevel.UnrealBone_W_T_170807_3+_2.SkeletalMeshComponent0.test_anim_bp_C_0
                      Function
     /Game/test_anim_bp.test_anim_bp_C:ExecutedUbergraph_test_anim_bp:0039
                      Script call stack:
                      Function
     /Game/test_anim_bp.test_anim_bp_C:EvaluateGraphExposedInputs_ExecuteUbergraph_test_anim_bp_AnimGraphNode_TestAnimNode_2EA3299C43D3AE3AB20D349903F74C9A
                      Function
     /Game/test_anim_bp.test_anim_bp_C:ExecuteUbergraph_test_anim_bp

link text
もしくはビルド用の設定が悪いか教えて頂ければ大変に助かります。

あ、直したそう。AnimGraphNodeでは入力ピンと出力ピンに同じ名を付けましたので、それでパッケージビルドがやっぱり落ちていたのです。なぜエディタービルドかスタンドアロンモードが動けるのか分かりません。

先の添付したプロジェクトについては、「AnimGraphNode_TestAnimNode.cpp」の中の「CreateOutputPins」という関数があり、そこに出力ピンの名前を「“ComponentPose”」から「“OutputPose”」に変更すれば解決します。

エディターを再ビルドすると実行する前に、「test_anim_bp.uasset」を削除することも必要です。そうしないと起動する時にエディターが落ちるはずです。上述のAnimGraphNodeを試すため、アニメーションブループリントを新しく作ることも必要です。

エディターでパッケージ系のプログラムをビルドすると無事に実行することができるはずです。