For some reason since i updated to 4.2.2 stable every day when i open engine project, this one scene throws me this.

--- Debug adapter server started ---
--- GDScript language server started on port 6008 ---
scene/resources/resource_format_text.cpp:284 - res://tests2/Components/ToolTip3Dv2.tscn:6 - Parse Error:
Failed loading resource: res://tests2/Components/ToolTip3Dv2.tscn. Make sure resources have been imported by opening the project in the editor at least once.
Failed to instantiate scene state of "res://tests2/Components/ToolTip3Dv2.tscn", node count is 0. Make sure the PackedScene resource is valid.
editor/editor_data.cpp:880 - Index p_idx = 6 is out of bounds (edited_scene.size() = 6).
editor/editor_data.cpp:683 - Index p_idx = 6 is out of bounds (edited_scene.size() = 6).
editor/editor_data.cpp:745 - Index p_idx = 6 is out of bounds (edited_scene.size() = 6).
Opening the engine /project for the second time does not throw the message but:
Godot Engine v4.2.2.stable.official (c) 2007-present Juan Linietsky, Ariel Manzur & Godot Contributors.
--- Debug adapter server started ---
--- GDScript language server started on port 6008 ---
scene/resources/resource_format_text.cpp:284 - res://tests2/Components/ToolTip3Dv2.tscn:6 - Parse Error:
Failed loading resource: res://tests2/Components/ToolTip3Dv2.tscn. Make sure resources have been imported by opening the project in the editor at least once.
The scene file itself is simple:
[gd_scene load_steps=2 format=3 uid="uid://0506215iu737"]
[ext_resource type="Script" path="res://tests2/Components/ToolTip3Dv2.gd" id="1_ais33"]
[node name="ToolTip3Dv2" type="Node3D"]
script = ExtResource("1_ais33")
[node name="Label3D" type="Label3D" parent="."]
billboard = 1
text = "babasbasdashdb"
Sometimes i can open the tscn file

Nothing offensive in the script either
extends Node3D
class_name ToolTip3Dv2
@onready var label_3d: Label3D = $Label3D
@export var text_value:String = "Example Text"
@export var vertical_offset:float = 0.0
@onready var v_offset:Vector3 =Vector3.UP * vertical_offset
var v_mesh_end:Vector3
var owner_node = null
@onready var offset:Vector3
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
label_3d.text = text_value
update_label()
print("Tooltip3dv2")
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func update_label():
if owner_node is Item:
if owner_node.slot_data.item_data:
var item_data: ItemData = owner_node.slot_data.item_data
if item_data:
label_3d.text = item_data.name
func get_mesh_end(_owner_node:Item):
var item_mesh:MeshInstance3D = _owner_node.item_mesh
if not item_mesh == null:
var end:Vector3
var aabb = _owner_node.item_visual_node.global_transform * item_mesh.get_aabb().abs()
#var aabb = item_mesh.global_transform * item_mesh.get_aabb().abs()
var size = aabb.size
var tooltip_rect = label_3d.get_aabb().abs().size
var tooltip_size = Vector3.UP * (tooltip_rect )
#end = Vector3.UP * ((size/2) + aabb.end)
#end = Vector3.UP * (aabb.end)
#end = Vector3.UP * (tooltip_size + (aabb.end * _owner_node.item_visual_node.scale))
#end = Vector3.UP * ((tooltip_size + (aabb.end )))
end = Vector3.UP * ((tooltip_size + (aabb.end )) - _owner_node.global_transform.origin)
return end
else:
return null
func set_node_size_and_position():
if not owner_node == null and owner_node is Item:
if not owner_node.item_mesh == null:
v_mesh_end = get_mesh_end(owner_node)
self.global_transform.origin = -owner_node.global_transform.origin + v_offset + v_mesh_end #- offset
func set_node_size_and_position_v2(_owner_node):
if not _owner_node == null and _owner_node is Item:
if not _owner_node.item_mesh == null:
v_mesh_end = get_mesh_end(_owner_node)
self.global_transform.origin = _owner_node.global_transform.origin + v_offset + v_mesh_end #- offset
Does anyone know what seems to be the trouble?