Hello,
I was wondering why when my project is launched via command-line unreal.ShotgridEngine is not picked up before its is call when bootstrapping the engine it seems the module/ plugin is loaded at the beginning of the log but later in the startup process it is not?
I’ve tried changing the uplugins for shotgrid to load earliest possible but this doesn’t seem to work either.
Any help with fixing this issue with possible when this plugin is loaded would be very helpful
Could be due to a few reasons. I highly recommend that you follow this guide if you haven’t done it so far: Setting up a ShotGrid Project to Work with Unreal Engine | Unreal Engine 4.27 Documentation
I have gone through all of this link a long time ago the issue is not getting the shotgrid integration running its getting it running on our farm and it apears to have something to do with the order in which the plugins are loaded
this is a print of the unreal import it does not contain shotgrid
and here is the error that is happening when tk-unreal tries to load the unreal.ShotgridEngine module
Hmm, in this resource I learned more Module Descriptors. Perhaps it’s worth looking closer here at the LoadingPhase
? Plugins in Unreal Engine | Unreal Engine 5.0 Documentation
Module Descriptors
For Plugins that contain code, the “Modules” field in the descriptor file will contain at least one entry. An example entry follows:
{ "Name" : "UObjectPlugin", "Type" : "Developer" "LoadingPhase" : "Default" }
Each entry requires the “Name” and “Type” fields. “Name” is the unique name of the Plugin Module that will be loaded with the Plugin. At runtime, the Engine will expect appropriate Plugin binaries to exist in the Plugin’s “Binaries” folder with the specified Module name. For Modules that have a Source directory, a matching “.Build.cs” file much exist within the Module’s subfolder tree. “Type” sets the type of Module. Valid options are Runtime, RuntimeNoCommandlet, Developer, Editor, EditorNoCommandlet, and Program. This type determines which types of applications can load the Module. For example, some plugins may include modules that should only load when the Editor is running. Runtime modules will be loaded in all cases, even in shipped games. Developer modules will only be loaded in development runtime or Editor builds, but never in shipping builds. Editor modules will only be loaded when the editor is starting up. Your Plugin can use a combination of modules of different types.
For details about the other supported fields, see the FModuleDescriptor API reference page.
I ran into this same issue running python scripts from the commandline.
Turn out it was caused by me running with the -Unattended flag enabled, when I removed the flag it fixed the issue!
I had this exact same problem, and it took a while to figure out, but the solution was a slap you face kind of thing:
I have a .bat file searching for the .uproject
file:
for %%p in ("%ProjectFolder%\*.uproject") do (
set ProjectPath=%%p
)
which works. But before I had this code:
for %%p in ("%ProjectFolder%\*.uproject") do ( set ProjectPath=%%p )
Which has the annoyance that windows .bat syntax would set ProjectPath
to something like Project.uproject
… with an extra space at the end, because the set
command ends at the parenthesis, not the space.
What’s interesting is that with an unreal command line call like this:
%UnrealCmd% "%ProjectPath%" -ExecutePythonScript=%PipelineScript%
Unreal does not complain that the .uproject
file is not actually a file (because the name has a space at the end), and instead the UnrealEditor-cmd.exe
will just happily run in the current folder as if it was the project folder and will therefore not load any plugins and therefore it would seem that python and plugins are broken, when in fact it’s that .bat syntax is dumb, and the unreal command doesn’t complain (very well) about the non-existing file.
So, beware that the unreal command may not be complaining in a logical way when you run it.