Run UE4Editor.exe with -LOG argument, it will open output log on start up and you will see on what it stops. Most common reason why projects loading long is shader compilation, which can happen on engine update
Hello, just an ideia, it already happened to me and i solved it by replace my project for an autosave. I lost some content (like 10 minutes of work but at least got my project back). Good luck m8
in Your Project Folder. should be something like Documents\Unreal\ProjectName/saves/autosaves
just replace your files by the last auto save but pls make a backup of your files 1st. hope it helps
Does the Editor get stuck at 73% or does it crash with no helpful error messages? If it is the latter, then read on.
Such crash errors with no actual helpful messages are often caused when you’re trying to access a NULL pointer. This null accessing can happen even for your specific case, i.e. a crash before the project fully loads. Here’s what you need to know to fix your issue. Every time you open the Unreal Editor, it tries to construct lots of modules and classes including some of your own Project classes in the background before the Editor is even initialized. One of these classes that have their constructors called is your GameMode. Following is some good coding practices that you should try to follow:
Always try to check whether your
pointers are still valid before
dereferencing them. You can do so by
putting them in an if-else
statement as a check condition, or
use the Engine provided assertion
macros such as check(). If an
assertion is true, it will cause the
Editor to crash but you will most
likely be given a more useful error
message as to what caused the Editor
to crash. Read more about assertions here.
Another thing that you should try to
avoid is to initialize any UObject in the constructor of your GameMode (or potentially any
other UObject). This is
especially the case if you’re trying
to pass your whole class instance as
the Outer parameter of the NewObject method with the keyword this, e.g. NewObject<USomeObject>(this). What happens here is that you’re
telling your new object who its
parent is before even the parent
itself is fully initialized. In such
cases, if you try to access the World
or Level in your object, you’ll most
likely get a nullptr in return
and if you dereference it without
checking, you’ll cause the Editor to
crash. You should instead try to initialize these UObjects in overridable method InitGame(…) of GameMode or in PostInitProperties() method of UObjects.
You should also know that Unreal
Engine has its own understanding of
C++ and that you cannot use some of
the commonly used C++ practices
inside it. One such example is the
use of keywords new/delete on UObjects. Because of ties to Garbage collection system, you need
to use the Engine provided factory
methods to initialize a UObject.
However, unlike the other two
aforementioned issues, you’re usually
given a useful error message which can
help you in debugging your project.
The issue was with the Blueprint Character class (I don’t know what exactly was wrong).
I knew the things I was changing and, so, I was removing all lastly changed items one by one and with each removed item I was trying to launch my project from the Visual Studio. I removed (more precisely - I moved these items to other, not project related, directory) from my project (including some bp widgets, bp game instance class, and the character bp class) and, finally, the project started successfully. And while the editor was launched I returned all the “removed” items.
I would complete the 2nd point :
“avoid is to initialize any UObject in the constructor” <=> avoid having UObject member in your classes (as it will be auto-init reaching the class’ constructor) ; you MUST use pointers if you set any UObject members, then instantiate them with :
CreateDefaultSubobject(TEXT(“WhateverYouWantForTheUE4Editor”));
where UClassName is the type of your pointer member
[2019.05.26-19.23.37:279][ 0]LogLinker: Warning: Can’t find file ‘/Game/Dynamic/Character/BP_PlayerCharacter’
[2019.05.26-19.23.37:281][ 0]LogLinker: Warning: Can’t find file for asset ‘/Game/Dynamic/Character/BP_PlayerCharacter’ while loading NULL.
I have the file name in that location, spelled EXACTLY the same (well, with *.uasset extension of course).
I have tried to rename the file, load the project. I get an expected CDO error. So i go through my project, rename the file in the editor, and re-cast everywhere that the BP_Character is referenced, so I can hit PLAY and it works. but whenever i reload my project, i get either the CDO error, or it hangs on load.
Sorry to rez an old thread, but I figured this is the issue, so…shrug. Any help in ANY direction is appreciated.