Download

Custom animation node not working in standalone

Hi everyone,
I’m having a problem with my custom animation node.
I followed this documentation to create it:

and this to create the custom editor module:

It’s all working, my animation node works and everything is cool when I play in editor, but when I play in standalone, it doesn’t work.

Can someone help me with this problem?

This is my configuration for the modules. It’s the first time I do this type of things, so if there is something stupid, please tell me :slight_smile:

MyGame.Build.cs



using UnrealBuildTool;

public class MyGame: ModuleRules
{
	public MyGame(TargetInfo Target)
	{
		PublicDependencyModuleNames.AddRange(
          new string] {
            "Core",
            "CoreUObject",
            "Engine",
            "InputCore",
            "Landscape",
            "UMG",
            "Slate",
            "SlateCore",
            "AnimGraphRuntime"
        });

        if (UEBuildConfiguration.bBuildEditor == true)
        {
            PublicDependencyModuleNames.AddRange(
                new string] {
                    "MyGameEditorExtension"
                }
            );
 
            CircularlyReferencedDependentModules.AddRange(
                new string] {
                    "MyGameEditorExtension",
                }
            );
        }
	}
}


MyGameEditorExtension.Build.cs



using UnrealBuildTool;
 
public class MyGameEditorExtension: ModuleRules
{
    public MyGameEditorExtension(TargetInfo Target)
    {

        PublicIncludePaths.AddRange(
                new string]{
                    "MyGameEditorExtension/Public"
            }
        );

        PrivateIncludePaths.AddRange(
                new string] {
                    "MyGameEditorExtension/Private"
            }
        );
        PublicDependencyModuleNames.Add("MyGame");


        PrivateIncludePaths.Add("EditorModule/Private");
 
        PublicDependencyModuleNames.AddRange(new string] { "Core", "CoreUObject", "Engine", "InputCore", });
 
        PrivateDependencyModuleNames.AddRange(new string] { "UnrealEd", "BlueprintGraph", "AnimGraph", });
   
        PublicDependencyModuleNames.AddRange(
             new string] {
                    "MyGame"
                }
        );
 
        CircularlyReferencedDependentModules.AddRange(
            new string] {
                    "MyGame",
                }
        );
    }
}


MyGame.Target.cs



...

public override void SetupBinaries(
		TargetInfo Target,
		ref List<UEBuildBinaryConfiguration> OutBuildBinaryConfigurations,
		ref List<string> OutExtraModuleNames
		)
	{
		OutExtraModuleNames.AddRange( new string] { "MyGame" } );

        if (UEBuildConfiguration.bBuildEditor)
        {
            OutExtraModuleNames.Add("MyGameEditorExtension");
        }
    }

...


MyGameEditor.Target.cs



...

public override void SetupBinaries(
		TargetInfo Target,
		ref List<UEBuildBinaryConfiguration> OutBuildBinaryConfigurations,
		ref List<string> OutExtraModuleNames
		)
	{
		OutExtraModuleNames.AddRange( new string] { "MyGame" } );
        OutExtraModuleNames.Add("MyGameEditorExtension");
    }

...


Ok, I solved it.

This was my .uproject module configuration:



"Modules": 
	{
		"Name": "MyGame",
		"Type": "Runtime",
		"LoadingPhase": "Default",
		"AdditionalDependencies": 
			"Engine",
			"CoreUObject"
		]
	},
	{
            "Name": "MyGameEditorExtension",
            "Type": "Editor",
            "LoadingPhase":  "PostEngineInit"
        }
	]


I have edited the type and the loading phase of my editor extension module:



"Modules": 
	{
		"Name": "MyGame",
		"Type": "Runtime",
		"LoadingPhase": "Default",
		"AdditionalDependencies": 
			"Engine",
			"CoreUObject"
		]
	},
	{
            "Name": "MyGameEditorExtension",
            "Type": "Runtime",
            "LoadingPhase":  "Default"
        }
	]


I had the same problem but wasn’t too happy to change my editor module to runtime.

Got some help from Epic, here is the solution:

“Editor modules need to be marked as “Developer” rather than “Editor” to run in Standalone.”

Changing the Type to “Developer” instead of “Runtime” should work too.

Oh this is why some developers have issues when they package “Development” builds; I actually only package in “Shipping” mode for test, so I don’t see the problems they have when they package a test build… Looks like I have some updates to do, add a “Developer” module for the people building in Development mode with custom nodes included and remove those nodes from “Editor” module :3