The plugin we’re authoring needs to go through a name change to its official name. I’ve created a [CoreRedirects]
field in Plugins/<PluginName>/Config/Base<PluginName>.ini
:
[CoreRedirects]
+ClassRedirects=(OldName="/Script/<OldPluginName>Runtime",NewName="/Script/<NewPluginName>Runtime",MatchSubstring=True)
+EnumRedirects=(OldName="/Script/<OldPluginName>Runtime",NewName="/Script/<NewPluginName>Runtime",MatchSubstring=True)
+FunctionRedirects=(OldName="/Script/<OldPluginName>Runtime",NewName="/Script/<NewPluginName>Runtime",MatchSubstring=True)
+StructRedirects=(OldName="/Script/<OldPluginName>Runtime",NewName="/Script/<NewPluginName>Runtime",MatchSubstring=True)
+ClassRedirects=(OldName="/Script/<OldPluginName>",NewName="/Script/<NewPluginName>",MatchSubstring=True)
+EnumRedirects=(OldName="/Script/<OldPluginName>",NewName="/Script/<NewPluginName>",MatchSubstring=True)
+FunctionRedirects=(OldName="/Script/<OldPluginName>",NewName="/Script/<NewPluginName>",MatchSubstring=True)
+StructRedirects=(OldName="/Script/<OldPluginName>",NewName="/Script/<NewPluginName>",MatchSubstring=True)
+ClassRedirects=(OldName="/<OldPluginName>",NewName="/<NewPluginName>",MatchSubstring=True)
+EnumRedirects=(OldName="/<OldPluginName>",NewName="/<NewPluginName>",MatchSubstring=True)
+FunctionRedirects=(OldName="/<OldPluginName>",NewName="/<NewPluginName>",MatchSubstring=True)
+StructRedirects=(OldName="/<OldPluginName>",NewName="/<NewPluginName>",MatchSubstring=True)
+PackageRedirects=(OldName="/<OldPluginName>",NewName="/<NewPluginName>",MatchSubstring=True)
This is probably a bit of an overzealous carpet bombing… but we’re still running into three types of errors that stem from a failure to find blueprint / widget assets in the new location.
-
Global functions defined in a blueprint and referenced in a different blueprint show as missing. Manually running “Refresh All Nodes” sorts this out by finding the function in the new path.
-
Widgets that are instantiated in another widget’s hierarchy have their instances deleted. References to them as blueprint variables in the event graph show errors that the variables do not exist.
-
Class types that are referenced in variables, Create Widget nodes or Cast nodes are missing and have reverted to type Object.
Any chance there’s a magical rearranging of the redirect strings that is off? And is there a command console command to print out what the system thinks the registered CoreRedirects are?