ERROR: No loader found for resource: res://assets/bt_panel.svg

Godot Version

Godot Engine v4.1.2.stable.fedora.399c9dc39 -
MESA-INTEL: warning: Haswell Vulkan support is incomplete
Vulkan API 1.2.267 - Forward+ - Using Vulkan Device #0: Intel - Intel(R) HD Graphics 4400 (HSW GT2)


I am trying to run this project GitHub - adcomp/Godot4_p5: Godot4_p5 is an interpretation of p5.js from Godot, for creative coding which is kind of port of Processing to Godot. But when I run godot in its directory I get these errors.

WARNING: res://demo.tscn:4 - ext_resource, invalid UID: uid://qv7qneotub2t - using text path instead: res://assets/bt_panel.svg
     at: load (scene/resources/resource_format_text.cpp:447)
ERROR: No loader found for resource: res://assets/bt_panel.svg.
   at: _load (core/io/resource_loader.cpp:281)
WARNING: res://demo.tscn:5 - ext_resource, invalid UID: uid://ddbnn6n8ggkyg - using text path instead: res://assets/bt_pause.svg
     at: load (scene/resources/resource_format_text.cpp:447)
ERROR: No loader found for resource: res://assets/bt_pause.svg.

The assets/bt_panel.svg file is there.

$ la assets/bt_panel.svg
-rw-r--r--. 1 anatoli anatoli 2,3K Dec 26 09:44 assets/bt_panel.svg

It is referenced from demo.tscn as ext_resource (not sure what is that yet).

$ rg assets/bt_panel.svg
4:[ext_resource type="Texture2D" uid="uid://qv7qneotub2t" path="res://assets/bt_panel.svg" id="1_hp567"]

So why the error?

Haswell Vulkan support is incomplete

I am not sure if this warning can have any effect on the SVG functionality. You could first create a new project and import the SVG file. (bt_panel.svg)

How to import the SVG? I am failing to find where can I browse my filesystem to import the file from another dir.

You can drag the file into Godot from your file manager, or you can use the file manager to simply put the file inside the project folder, then it will show up.

1 Like

Dragged the file. Looks like it is imported successfully.

Comparing new project with an old one, I see additional bt_panel.svg.import file in the new project.

And after saving, there new project doesn’t contain ext_resource string anywhere. Well, probably because the resource is imported, but not used in any scene.

Found the docs - Import process — Godot Engine (4.2) documentation in English - from it there should be res://.godot/imported/ directory, which is present in new project, but absent in the new one.

Maybe without the .import file Godot is unable to recreate .godot/imported/?
Looks like .import files were not committed in original repo and Godot doesn’t recreate them with defaults. Need to test what Godot recreates and what it does not.
Should .godot/imported should be committed into repository?

Dragged bt_panel.svg into main pane. Now there is ext_resource reference in node_2d.tscn.

[ext_resource type="Texture2D" uid="uid://dtru74qewxnvs" path="res://bt_panel.svg" id="1_3vxln"]

Removed .godot dir, and editor didn’t complain. .godot/imported was recreated.

Removed bt_panel.svg.import and it was recreated too.

Removed both and the files were recreated. “No loader error” doesn’t appear. Maybe I should try move the file into assets as it is in original project.