I recently ran the fixup redirects commmandlet for our project and afterwards noticed that it refused to fix up some of the redirectors with the following error: “Boot redirector can’t be cleaned”. The editor appears to fix up these redirects without complaint. Any ideas what is going on here?
Thanks!
Erik
The way the editor cleans up redirects is not well-founded. It assumes it has everything on the local disk. Fixup redirects does not.
If I recall, fixupredirects refuses to clean up “boot redirectors” because they were loaded before the commandlet had a chance to install the hooks it needs to see who references them. Thus it can’t really do the job safely.
OK, thanks Gil. How should we approach fixing up these redirects then? Do I need to track down how they are being loaded early while running fixupredirects? I’m not sure how that could be the case, but I suppose its plausible that some of our tech could be causing that. Is there some other engine mechanism that could be causing this?
Ok, well first, I am confused because you listed this under UE3.
So talking UE4, it would be common for C++ to be loading these things using the wrong name. The only way to fix that is to change the code.
Assuming that isn’t the case, then they are probably indirectly loaded you could fix them with the editor. Or you could track down the packages referring to the redirector and resave it manually.
Maybe add logging to redirector following to try to see where these are coming from. You could either do that in the two calls to followed redirector:
D:\Work\UE4\Dev-Rendering\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp(2272): FCoreUObjectDelegates::RedirectorFollowed.Broadcast(Filename, Redir);
D:\Work\UE4\Dev-Rendering\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp(3048): FCoreUObjectDelegates::RedirectorFollowed.Broadcast(Filename, Redir);
or just add a hook early in the boot process to spew the redirector follows.
OK, apologies about posting in the wrong section. I did mark my engine version as UE4 4.10 though!
I’ll give that a shot next time we run into this issue. Thanks!