Movie Render Graph Config Execute Script using a Python script keeps triggering our project Asset Referencing Policy

Hello,

I am using Movie Render Graph Config, and the execute node keeps triggering our project Asset Referencing Policy.

Specificaly, it returns this in the message log after saving the Movie Render Graph Config (using the MovieGraphScriptNodeExample.py as an example):

/Game/FolderA/FolderB/MovieRenderGraphConfig Soft references /MovieRenderPipeline/Python/MovieGraphScriptNodeExample_PY which does not exist /MovieRenderPipeline/Python/MovieGraphScriptNodeExample_PY . (AssetValidator_AssetReferenceRestrictions)

Evaluating the graph returns this:

Looking at the header file, MovieGraphExecuteScriptNode.h, I see this:

/**

  • This is the base class used for writing scripts that can be executed as part
  • of a Movie Graph Pipeline. After creating a UMovieGraphExecuteScriptNode
  • (named ‘Execute Script’ in the UI) in your Movie Graph Configuration asset,
  • and choosing the type of your script, an instance will be created when
  • the job starts. This instance will persist until the end of the job. The instance
  • will recieve callbacks during the render which contain data that you can
  • manipulate with your script, or data that was generated by the pipeline.

This is the part that interests me:

“… an instance will be created when the job starts. This instance will persist until the end of the job.”

which implies that the Movie Render Graph Config is trying to reference something that doesn’t exist (yet).

I believe this is the part that is triggering our validation check.

Is there a way to circumvent this, or am I just looking at it at a wrong angle?

Is there any way I can add a non-existing asset as a wildcard somewhere in the Project Settings?

Ok, I can confirm, Movie Render Graph Config Execute Script node does not work well with the AssetReferenceRestrictions module.

Repro steps below.

Prerequisite: Have Movie Render Queue plugin loaded.

  1. Open Unreal with Asset Reference Restrictions plugin loaded.
  2. In Python Command Console, type “Import MovieGraphScriptNodeExample”
  3. Open DefaultQuickRenderGraph.
  4. Add an Execute Script Node, and select Callback Override.
  5. Save the graph, and notice how there is an asset error.

Doing the same step but with Asset Reference Restrictions plugin unloaded will not return an asset error.

Is there a way to prevent the Asset Referencing Policy from triggering?

After a discussion with Epic engineer, this will be fixed in 5.8. Python scripts will have the option to be set as an Editor-only script. This will prevent the Asset Reference Restriction module from triggering.

For now, it is safe to ignore the error.