exported files are a mess. .remap files mess things up big time

Godot Version

4.3 beta 1


I am trying to load one of these .remap files generated when exporting the project. I am aware that I need to trim the .remap extention, so I just do this: load(file_path.trim_suffix(“.remap”)) but now I get an error where Godot doesn’t want to load the linked file:

Looking at res://resources/games/boykisser/boykisser.tres
ERROR: No loader found for resource: res://.godot/exported/133200997/export-c837b76ed5e3c10e072f8571bc65d0f5-boykisser.res (expected type: Game)
   at: _load (core/io/resource_loader.cpp:289)

I am loading this file in a thread, but this seems to not be thread related. The loading script is this one:

# The path variable already has the .remap removed from it
func _load_game(path:String):
	ResourceLoader.load_threaded_request(path, "Game")
	while ResourceLoader.load_threaded_get_status(path) != 3:
		var status:int = ResourceLoader.load_threaded_get_status(path)
		if status != 3 and status != ResourceLoader.ThreadLoadStatus.THREAD_LOAD_LOADED and status!= 1:
			print("The thread status failed and is: ", status)
	call_deferred_thread_group("emit_signal", "loaded", ResourceLoader.load_threaded_get(path))

I have had problems with these exports for quite a while now and I really want this to become easier to implement…

This is not just a problem on my linux machines, but on my androids as well, so it does seem to be a Godot issue… Or I’m missing something obvious here.

Can someone help me on understanding this better?

Usually the solution is quite easy: just as in godot 3, remove .import and/or .remap from the path string and load it as is. That’s all.

Do NOT include a type_hint to your resource loader with your custom class type name, use Resource or don’t pass a type hint at all