What threads should I be aware of?

I’ve just came across IsPostLoadThreadSafe function and since the code I’m developing might be thread-sensitive (I’d need to register each thread which is used by a VM), I’d like to know which threads should a normal user encounter?
Is it just the “loading thread” and “game thread”? Is there any description of the threads used by Unreal, and how this interaction may occur (e.g. IsPostLoadThreadSafe for the load thread)?

Additionally, I’ve tried to put a log when returning IsPostLoadThreadSafe but I haven’t seen it be called yet

There is another one which might cause problems, the Render thread. Recently ran into an issue with invoking a game thread function in the render thread. Unfortunately I can’t add much more details as I don’t know much more about this.

Thank you, @staticvoidlol . I knew about the render thread but I didn’t know it was easily exposed to code. Do you have an example of when your C++ code was executed by the render thread?

Sure - have a look at this thread where frankmli has graciously provided his code for changing the FOV on a SkeletalMesh. The first answer will be of interest to you, in line 16, where LocalPlayer->CalcSceneView is called (I think that is on the game thread whereas the SkeletalMeshComponent::GetRenderMatrix() is on the render thread).

Thank you! This was really helpful!