Ark: Survival Evolved: Low fps becaue of UE4 or due to no optimizations?

You have multi-threading out of the box on a per object basis, just set this in BP or somewhere in code on your tick-able object…

bAllowConcurrentTick = true;

Bam, multi-threaded per-frame actors or component ticks, seriously how hard was that?

They even block the render thread for you so that you can be sure your async tick is done in the current frame. Threads that block the game thread are of course not the place for long running processes, and just be sure your tick function doesn’t access anything it shouldn’t, and be sure to make sure to guard your critical sections with atomics, and keep your async thread out of places it shouldn’t be.

Welcome to the world of procedural programming.

I know this thread is ancient, but maybe someone else stumbles upon it following the same bread crumbs.
As far as I can tell, bAllowConcurrentTick is for Component Actors only.
For Actors the property would be PrimaryActorTick.bRunOnAnyThread = true (it is false by default).
After enabling it in a test, my average CPU usage doubled with noticeably more cores working.

I don’t know if it is available for Blueprint actors, but exposing this would be a no brainer (e.g. create C++ actor class add the line to its constructor and parent BP actor off of it).