Mod:Modding/Troubleshooting

From ARK Wiki
Jump to navigation Jump to search

This page attempts to address common issues encountered while Modding.

Where can I find the Dev Kit?

I can't upload my mod

The following are required to upload a mod to the Steam Workshop:

  • Mod has to be cooked
  • Title, description and preview image of the mod are selected
  • Changelog is not an empty field

Do I need Unreal Engine 4 installed?

No, you only need an Epic Games account to download, install and update the Dev Kit.

The editor freezes when I open a Blueprint

Opening a Blueprint causes the editor to load all direct dependencies. This is a synchronous process heavy on disk I/O, and the editor will appear frozen for its duration.

UE4CompilingShaders.png

Certain assets need to be also built for your platform before they can be utilized. For example, loading a Material for the first time or modifying it will cause its generated shader to be compiled. Shader compilation is a CPU-bound task, and data exchanges between the compiler workers and Dev Kit will cause similar, shorter freezes. If a shader is not compiled yet, default grid material will be used.

Speeding up the process

There is not much you can do to speed up asset loading without buying a faster disk. However, you can increase the scheduling priority of Shader Compile Workers, which start with value of Below Normal by default. Beware that increasing the priority of a process will cause the operating system to schedule them more often, leaving less time for other processes like window manager. Your system may be unresponsive until the tasks are done.

Changing priority of a worker from within the Task Manager is not going to have much effect, as the workers are short-lived and will end once their task is done. It makes more sense to automatize the task with a script, like the Powershell one below:

 $i=0; while ($i -lt 3600) { $processes = get-process ShaderCompileWorker -ErrorAction SilentlyContinue; foreach ($process in $processes) { $process.PriorityClass="High" }; $i++; Start-Sleep -Seconds 2 } # Source: Letoric from ARK Modding Discord

The script runs for 2 hours (7200 seconds) and sets priority of each worker process to High.