diff --git a/core/IvmiScene.gd b/core/IvmiScene.gd
index 41a0b1ee159e99c729ffd6a85a6fb2dfb6119c73..58a0802731929257212853dbd7f78fa1bf09ce95 100644
--- a/core/IvmiScene.gd
+++ b/core/IvmiScene.gd
@@ -74,7 +74,7 @@ func _ready():
 				#remove v-sync
 				DisplayServer.window_set_vsync_mode(DisplayServer.VSYNC_DISABLED)
 				get_viewport().use_xr = true
-				#_xr_interface.play_area_changed.connect(_on_play_area_changed)
+				_xr_interface.connect("session_visible",_on_xr_session)
 				_is_2D = false
 				print("IVMI : Initialised OpenXR Interface")
 				if _open_xr_passthrough :
@@ -131,6 +131,12 @@ func _ready():
 	#initialize either libpd or osc patch
 	send("init", "f", [1])
 
+	# Start network
+	_start_network()
+
+func _start_network() -> void :
+	_is_connected=false
+	
 	if _network_mode!=NetMode.None :
 		if _network_protocol==NetProto.Enet :
 			match _network_mode :
@@ -144,8 +150,7 @@ func _ready():
 				NetMode.Client :
 					if _server_ip!="" :
 						_on_found_server(_server_ip, _server_port)
-
-
+						
 		#start discov
 		_network_discov = IvmiDiscov.new()
 		if _network_mode==NetMode.Server :
@@ -156,8 +161,9 @@ func _ready():
 		_network_discov.start()
 
 # TODO trying to fix resume error on quest, not working yet ...
-func _on_play_area_changed() :
+func _on_xr_session() :
 	get_viewport().use_xr = true
+	_start_network()
 
 func _process(delta) :
 	if is_inside_tree() :
diff --git a/core/net/GodOSC.gd b/core/net/GodOSC.gd
index 08cd94a306699c865368291bb82b61a42be12b54..8a0be6f3fc1ada0e03c51ad3c50606105fd4d9fc 100644
--- a/core/net/GodOSC.gd
+++ b/core/net/GodOSC.gd
@@ -3,7 +3,7 @@ extends Node
 class_name GodOSC
 
 var _buf = StreamPeerBuffer.new()
-var _socket = PacketPeerUDP.new()
+var _socket : PacketPeerUDP = PacketPeerUDP.new()
 var _output_address = "127.0.0.1"
 var _output_port = 7770
 var _input_port = 7771
@@ -21,6 +21,9 @@ func set_output(address, port) :
 		if _verbose :
 			print("GodOSC : Setting output to ", address, ":", port)
 
+func close() -> void :
+	_socket.close()
+
 func set_input_port(port) :
 	_input_port=port
 	if _socket.bind(_input_port)!= OK : 
diff --git a/core/net/IvmiDiscov.gd b/core/net/IvmiDiscov.gd
index 7663ece30e3fa4b6bc30ea164c221d9425998e53..dda640a6695e13373338a195d2bca8b6bdb16213 100644
--- a/core/net/IvmiDiscov.gd
+++ b/core/net/IvmiDiscov.gd
@@ -25,6 +25,7 @@ func start() :
 	print("IVMI : Starting Network Discovery")
 	var mcadd = "239.215.216.217"
 	var mcprt = 8173
+	_osc_discov.close()
 	if _is_server :
 		_osc_discov.set_output(mcadd, mcprt)
 	else :
@@ -48,7 +49,6 @@ func _process(delta) :
 		#if not test multicast messages for hello from server
 		while _osc_discov.has_msg() :
 			var msg = _osc_discov.get_msg()
-			#print("from discov ", msg, _osc_discov.get_last_peer())	
 			match msg["address"] : 
 				"/ivmi/hello_from_server":
 					emit_signal("found_server", msg["args"][0], msg["args"][1])
diff --git a/examples/controls/Controls.tscn b/examples/controls/Controls.tscn
index 39bcce22462a079fc280f95db95a521043a1fe54..cb2c7529b962920a487b7646e1956cb724871afe 100644
--- a/examples/controls/Controls.tscn
+++ b/examples/controls/Controls.tscn
@@ -2,7 +2,7 @@
 
 [ext_resource type="Script" path="res://addons/ivmi-builder/core/IvmiScene.gd" id="1_q0qfo"]
 [ext_resource type="PackedScene" path="res://addons/ivmi-builder/techniques/packed_techniques/FlyingGazeHOMER.tscn" id="2"]
-[ext_resource type="PackedScene" path="res://addons/ivmi-builder/techniques/control/1DSlider/1DSlider.tscn" id="3"]
+[ext_resource type="PackedScene" uid="uid://f6hwoypk1cff" path="res://addons/ivmi-builder/techniques/control/1DSlider/1DSlider.tscn" id="3"]
 [ext_resource type="PackedScene" path="res://addons/ivmi-builder/techniques/control/Knob/Knob.tscn" id="4"]
 [ext_resource type="PackedScene" path="res://addons/ivmi-builder/techniques/control/2DSlider/2DSlider.tscn" id="5"]
 [ext_resource type="PackedScene" path="res://addons/ivmi-builder/techniques/control/3DSlider/3DSlider.tscn" id="6"]
diff --git a/examples/navigation/BeatSphere.tscn b/examples/navigation/BeatSphere.tscn
index e14182a5736a106851558f7d9c9a56389e72abe8..c33a2df32afe27027c8f8a1ec6fae68c0662fefd 100644
--- a/examples/navigation/BeatSphere.tscn
+++ b/examples/navigation/BeatSphere.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=8 format=2]
+[gd_scene load_steps=8 format=3 uid="uid://cunqq60syy1io"]
 
-[sub_resource type="GDScript" id=1]
+[sub_resource type="GDScript" id="1"]
 script/source = "tool 
 extends \"res://addons/ivmi-builder/core/IvmiNode.gd\"
 
@@ -61,40 +61,38 @@ func get_property(prop) :
 	return super.get_property(prop)
 "
 
-[sub_resource type="SphereMesh" id=2]
+[sub_resource type="SphereMesh" id="2"]
 resource_local_to_scene = true
 
-[sub_resource type="OpenSimplexNoise" id=3]
+[sub_resource type="FastNoiseLite" id="3"]
 
-[sub_resource type="NoiseTexture" id=4]
+[sub_resource type="NoiseTexture2D" id="4"]
 seamless = true
-noise = SubResource( 3 )
+noise = SubResource("3")
 
-[sub_resource type="OpenSimplexNoise" id=5]
+[sub_resource type="FastNoiseLite" id="5"]
 
-[sub_resource type="NoiseTexture" id=6]
+[sub_resource type="NoiseTexture2D" id="6"]
 seamless = true
-noise = SubResource( 5 )
+noise = SubResource("5")
 
-[sub_resource type="StandardMaterial3D" id=7]
+[sub_resource type="StandardMaterial3D" id="7"]
 resource_local_to_scene = true
-flags_transparent = true
-albedo_color = Color( 0.130739, 0.6845, 0.598475, 1 )
+transparency = 1
+albedo_color = Color(0.130739, 0.6845, 0.598475, 1)
 metallic = 0.72
 metallic_specular = 0.54
 roughness = 0.55
 normal_enabled = true
 normal_scale = 6.86
-normal_texture = SubResource( 6 )
-depth_enabled = true
-depth_scale = -0.81
-depth_deep_parallax = false
-depth_flip_tangent = false
-depth_flip_binormal = false
-depth_texture = SubResource( 4 )
+normal_texture = SubResource("6")
+heightmap_enabled = true
+heightmap_scale = -0.81
+heightmap_texture = SubResource("4")
+heightmap_flip_texture = true
 
 [node name="BeatSphere" type="Node3D"]
-script = SubResource( 1 )
+script = SubResource("1")
 __meta__ = {
 "IVMI": true,
 "IVMI-type": "Beat",
@@ -105,5 +103,5 @@ _filter = 0.369
 _noisiness = 0.191
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-mesh = SubResource( 2 )
-material/0 = SubResource( 7 )
+mesh = SubResource("2")
+material/0 = SubResource("7")
diff --git a/examples/navigation/Navigation.tscn b/examples/navigation/Navigation.tscn
index b08a1d726c95d88f76b4f2c64ce82df9e0b1d64b..b39dc0079da3de2ef7434451667752edd2b769e9 100644
--- a/examples/navigation/Navigation.tscn
+++ b/examples/navigation/Navigation.tscn
@@ -1,10 +1,10 @@
-[gd_scene load_steps=9 format=2]
+[gd_scene load_steps=7 format=3 uid="uid://je2xj55a8sxg"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/navigation/FlyingGaze.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/ivmi-builder/examples/navigation/BeatSphere.tscn" type="PackedScene" id=2]
-[ext_resource path="res://addons/ivmi-builder/examples/navigation/SynthLine.tscn" type="PackedScene" id=3]
+[ext_resource type="PackedScene" path="res://addons/ivmi-builder/techniques/navigation/FlyingGaze.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://cunqq60syy1io" path="res://addons/ivmi-builder/examples/navigation/BeatSphere.tscn" id="2"]
+[ext_resource type="PackedScene" path="res://addons/ivmi-builder/examples/navigation/SynthLine.tscn" id="3"]
 
-[sub_resource type="GDScript" id=1]
+[sub_resource type="GDScript" id="1"]
 script/source = "extends \"res://addons/ivmi-builder/core/IvmiScene.gd\"
 
 func _ready():
@@ -16,68 +16,45 @@ func _process(delta):
 	
 "
 
-[sub_resource type="OpenSimplexNoise" id=2]
-seed = 5
-octaves = 2
-period = 256.0
-persistence = 0.0
-lacunarity = 2.78
-
-[sub_resource type="NoiseTexture" id=3]
-width = 1000
-height = 1000
-noise = SubResource( 2 )
-
-[sub_resource type="Sky" id=4]
+[sub_resource type="Sky" id="4"]
 radiance_size = 0
-panorama = SubResource( 3 )
 
-[sub_resource type="Environment" id=5]
+[sub_resource type="Environment" id="5"]
 background_mode = 2
-background_sky = SubResource( 4 )
-background_sky_custom_fov = 41.8
-background_sky_orientation = Basis( 1, 0, 0, 0, -0.469923, -0.882707, 0, 0.882707, -0.469923 )
-background_color = Color( 0.152941, 0.152941, 0.152941, 1 )
-background_energy = 0.33
+background_color = Color(0.152941, 0.152941, 0.152941, 1)
 background_canvas_max_layer = 1
-ambient_light_energy = 0.0
+sky = SubResource("4")
+sky_custom_fov = 41.8
+sky_rotation = Vector3(2.06, 0, 0)
 ambient_light_sky_contribution = 0.0
-fog_color = Color( 0.309804, 0.364706, 0.415686, 1 )
-fog_sun_amount = 0.34
-fog_depth_enabled = false
-fog_depth_begin = 662.8
-fog_depth_end = 618.6
-dof_blur_far_distance = 0.01
-dof_blur_near_distance = 49.65
-dof_blur_near_amount = 0.33
+ambient_light_energy = 0.0
 glow_enabled = true
 glow_intensity = 0.61
 glow_strength = 0.8
 glow_blend_mode = 0
 glow_hdr_threshold = 0.22
-glow_hdr_luminance_cap = 59.51
 glow_hdr_scale = 1.01
-glow_bicubic_upscale = true
+glow_hdr_luminance_cap = 59.51
 adjustment_enabled = true
 adjustment_brightness = 1.27
 adjustment_contrast = 2.19
 adjustment_saturation = 0.63
 
 [node name="Navigation" type="Node3D"]
-script = SubResource( 1 )
+script = SubResource("1")
 _pd_patch = "res://examples/navigation/navigation.pd"
 _screen_vr_mode = 1
 
 [node name="ARVRorigin" type="XROrigin3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.379932 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.379932)
 
 [node name="Camera3D" type="XRCamera3D" parent="ARVRorigin"]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.28588, 1.16185 )
-environment = SubResource( 5 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.28588, 1.16185)
+environment = SubResource("5")
 current = true
 
 [node name="OmniLight3D" type="OmniLight3D" parent="ARVRorigin/Camera3D"]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0)
 light_energy = 11.51
 light_indirect_energy = 5.17
 light_specular = 1.0
@@ -86,42 +63,42 @@ omni_attenuation = 0.732043
 
 [node name="XRController3D" type="XRController3D" parent="ARVRorigin"]
 
-[node name="flying" parent="ARVRorigin" instance=ExtResource( 1 )]
+[node name="flying" parent="ARVRorigin" instance=ExtResource("1")]
 _camera_node_path = NodePath("../Camera3D")
 _controller_node_path = NodePath("../XRController3D")
 _arvrorigin_node_path = NodePath("..")
 _speed = 6
 
-[node name="sphere1" parent="." instance=ExtResource( 2 )]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.45, 0, -2.735 )
+[node name="sphere1" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.45, 0, -2.735)
 _tempo = 136.387
 _filter = 0.0
 _noisiness = 0.218
 
-[node name="sphere2" parent="." instance=ExtResource( 2 )]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -3.74067, -11.2131 )
+[node name="sphere2" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -3.74067, -11.2131)
 _tempo = 213.258
 _filter = 0.545
 _noisiness = 0.412
 
-[node name="line1" parent="." instance=ExtResource( 3 )]
-transform = Transform3D( 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, 0, 1.1, -8.93681 )
+[node name="line1" parent="." instance=ExtResource("3")]
+transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, 0, 1.1, -8.93681)
 _modulation = 1.0
 _filter = 0.308
 _noisiness = 0.249
 _pitch = 52.0
 
-[node name="line2" parent="." instance=ExtResource( 3 )]
-transform = Transform3D( 0.764977, -0.644057, 0, 0.644057, 0.764977, 0, 0, 0, 1, 26.4684, -17.7985, -70.6241 )
+[node name="line2" parent="." instance=ExtResource("3")]
+transform = Transform3D(0.764977, -0.644057, 0, 0.644057, 0.764977, 0, 0, 0, 1, 26.4684, -17.7985, -70.6241)
 _modulation = 0.891
 _filter = 0.7
 _noisiness = 1.0
 _pitch = 47.0
 
-[node name="sphere3" parent="." instance=ExtResource( 2 )]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 10.5408, 3.06207, -32.1897 )
+[node name="sphere3" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.5408, 3.06207, -32.1897)
 _filter = 0.247
 _noisiness = 0.423
 
-[node name="SynthLine" parent="." instance=ExtResource( 3 )]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.46475, -9.24963 )
+[node name="SynthLine" parent="." instance=ExtResource("3")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.46475, -9.24963)
diff --git a/examples/navigation/SynthLine.tscn b/examples/navigation/SynthLine.tscn
index 408002e010b73a63dcb6df9df20339f786882ba5..2328d603f38830b591c1aab72fdae2e5f2d46806 100644
--- a/examples/navigation/SynthLine.tscn
+++ b/examples/navigation/SynthLine.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=4 format=2]
+[gd_scene load_steps=4 format=3 uid="uid://drd8ir0kn6r4u"]
 
-[sub_resource type="GDScript" id=1]
+[sub_resource type="GDScript" id="1"]
 script/source = "tool 
 extends \"res://addons/ivmi-builder/core/IvmiNode.gd\"
 
@@ -69,18 +69,18 @@ func get_property(prop) :
 	return super.get_property(prop)
 "
 
-[sub_resource type="CylinderMesh" id=2]
+[sub_resource type="CylinderMesh" id="2"]
 top_radius = 0.1
 bottom_radius = 0.1
 height = 500.0
 
-[sub_resource type="StandardMaterial3D" id=3]
+[sub_resource type="StandardMaterial3D" id="3"]
 resource_local_to_scene = true
-flags_transparent = true
-albedo_color = Color( 1, 0.023622, 0, 1 )
+transparency = 1
+albedo_color = Color(1, 0.023622, 0, 1)
 
 [node name="SynthLine" type="Node3D"]
-script = SubResource( 1 )
+script = SubResource("1")
 __meta__ = {
 "IVMI": true,
 "IVMI_Node_Type": "synth_line"
@@ -88,6 +88,6 @@ __meta__ = {
 _pitch = 0.5
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-transform = Transform3D( -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0 )
-mesh = SubResource( 2 )
-material/0 = SubResource( 3 )
+transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0)
+mesh = SubResource("2")
+material/0 = SubResource("3")
diff --git a/examples/selection/Grain.tscn b/examples/selection/Grain.tscn
index 1b51505a91e95c07544cf175528ab25477d122bb..d4b2b37aecb1d343f24a4acaf678e1f951cb2904 100644
--- a/examples/selection/Grain.tscn
+++ b/examples/selection/Grain.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://dxkwsbxth8jri"]
 
-[sub_resource type="GDScript" id=1]
+[sub_resource type="GDScript" id="1"]
 script/source = "extends \"res://addons/ivmi-builder/core/IvmiNode.gd\"
 
 var _col = [0,0,0]
@@ -25,25 +25,25 @@ func _set_property(property, vals):
 				mat.albedo_color[i] = _col[i]+0.4*vals[0]
 "
 
-[sub_resource type="BoxMesh" id=2]
-size = Vector3( 0.2, 0.2, 0.2 )
+[sub_resource type="BoxMesh" id="2"]
+size = Vector3(0.2, 0.2, 0.2)
 
-[sub_resource type="StandardMaterial3D" id=3]
+[sub_resource type="StandardMaterial3D" id="3"]
 resource_local_to_scene = true
-flags_transparent = true
-albedo_color = Color( 1, 1, 1, 0.835294 )
+transparency = 1
+albedo_color = Color(1, 1, 1, 0.835294)
 
-[sub_resource type="BoxShape3D" id=4]
-size = Vector3( 0.1, 0.1, 0.1 )
+[sub_resource type="BoxShape3D" id="4"]
+size = Vector3(0.1, 0.1, 0.1)
 
 [node name="Node3D" type="Node3D"]
-script = SubResource( 1 )
+script = SubResource("1")
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-mesh = SubResource( 2 )
-material/0 = SubResource( 3 )
+mesh = SubResource("2")
+material/0 = SubResource("3")
 
 [node name="StaticBody3D" type="StaticBody3D" parent="."]
 
 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
-shape = SubResource( 4 )
+shape = SubResource("4")
diff --git a/examples/selection/Selection.tscn b/examples/selection/Selection.tscn
index 241452337e0475fc5696d3208548e8af3c8e2ebc..3587191de94835768d036776f110fa9b763c590e 100644
--- a/examples/selection/Selection.tscn
+++ b/examples/selection/Selection.tscn
@@ -1,7 +1,7 @@
 [gd_scene load_steps=4 format=3 uid="uid://b45pg7vpjrpsk"]
 
 [ext_resource type="PackedScene" path="res://addons/ivmi-builder/techniques/manipulation/Cursor.tscn" id="1"]
-[ext_resource type="PackedScene" path="res://addons/ivmi-builder/examples/selection/Grain.tscn" id="2"]
+[ext_resource type="PackedScene" uid="uid://dxkwsbxth8jri" path="res://addons/ivmi-builder/examples/selection/Grain.tscn" id="2"]
 
 [sub_resource type="GDScript" id="1"]
 script/source = "extends \"res://addons/ivmi-builder/core/IvmiScene.gd\"
diff --git a/techniques/control/2DSlider/2DSlider.tscn b/techniques/control/2DSlider/2DSlider.tscn
index 82d379ac88a6353274afc10753e02225ff0c32ab..bf10c326937ce6d792cfb688237b544c10344eae 100644
--- a/techniques/control/2DSlider/2DSlider.tscn
+++ b/techniques/control/2DSlider/2DSlider.tscn
@@ -1,64 +1,64 @@
-[gd_scene load_steps=10 format=2]
+[gd_scene load_steps=10 format=3 uid="uid://cfuxxu32clli"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/control/2DSlider/2DSlider.gd" type="Script" id=1]
-[ext_resource path="res://addons/ivmi-builder/techniques/control/2DSlider/2DSliderParent.gd" type="Script" id=2]
-[ext_resource path="res://addons/ivmi-builder/visualization/SimpleLine.tscn" type="PackedScene" id=3]
-[ext_resource path="res://addons/ivmi-builder/visualization/box_slider.gdshader" type="Shader" id=4]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/control/2DSlider/2DSlider.gd" id="1"]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/control/2DSlider/2DSliderParent.gd" id="2"]
+[ext_resource type="PackedScene" uid="uid://cbede1qesppcg" path="res://addons/ivmi-builder/visualization/SimpleLine.tscn" id="3"]
+[ext_resource type="Shader" path="res://addons/ivmi-builder/visualization/box_slider.gdshader" id="4"]
 
-[sub_resource type="BoxMesh" id=1]
-size = Vector3( 1, 1, 1 )
+[sub_resource type="BoxMesh" id="1"]
 subdivide_width = 10
 subdivide_height = 10
 subdivide_depth = 10
 
-[sub_resource type="ShaderMaterial" id=2]
-shader = ExtResource( 4 )
+[sub_resource type="ShaderMaterial" id="2"]
+render_priority = 0
+shader = ExtResource("4")
 
-[sub_resource type="BoxMesh" id=3]
+[sub_resource type="BoxMesh" id="3"]
 
-[sub_resource type="StandardMaterial3D" id=4]
-albedo_color = Color( 0.5, 0.916667, 1, 1 )
+[sub_resource type="StandardMaterial3D" id="4"]
+albedo_color = Color(0.5, 0.916667, 1, 1)
 
-[sub_resource type="BoxShape3D" id=5]
-size = Vector3( 0.100379, 0.0983211, 0.100575 )
+[sub_resource type="BoxShape3D" id="5"]
+size = Vector3(0.100379, 0.0983211, 0.100575)
 
 [node name="2DSlider" type="Node3D"]
-script = ExtResource( 2 )
+script = ExtResource("2")
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-transform = Transform3D( 2.5, 0, 0, 0, 2.5, 0, 0, 0, 0.5, 0, 0, 0 )
-mesh = SubResource( 1 )
-material/0 = SubResource( 2 )
+transform = Transform3D(2.5, 0, 0, 0, 2.5, 0, 0, 0, 0.5, 0, 0, 0)
+mesh = SubResource("1")
+material/0 = SubResource("2")
 
 [node name="Cursor" type="Node3D" parent="."]
-script = ExtResource( 1 )
+script = ExtResource("1")
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="Cursor"]
-transform = Transform3D( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0 )
-mesh = SubResource( 3 )
-material/0 = SubResource( 4 )
+transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
+mesh = SubResource("3")
+material/0 = SubResource("4")
 
 [node name="StaticBody3D" type="StaticBody3D" parent="Cursor"]
 
 [node name="CollisionShape3D" type="CollisionShape3D" parent="Cursor/StaticBody3D"]
-shape = SubResource( 5 )
+shape = SubResource("5")
 
-[node name="SimpleLine" parent="." instance=ExtResource( 3 )]
+[node name="SimpleLine" parent="." instance=ExtResource("3")]
 _pointA_path = NodePath("../Position3D_X_1")
 _pointB_path = NodePath("../Position3D_X_2")
 
-[node name="SimpleLine2" parent="." instance=ExtResource( 3 )]
+[node name="SimpleLine2" parent="." instance=ExtResource("3")]
 _pointA_path = NodePath("../Position3D_Y_1")
 _pointB_path = NodePath("../Position3D_Y_2")
 
 [node name="Position3D_X_1" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0)
 
 [node name="Position3D_X_2" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0)
 
 [node name="Position3D_Y_1" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
 
 [node name="Position3D_Y_2" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
diff --git a/techniques/control/3DSlider/3DSlider.tscn b/techniques/control/3DSlider/3DSlider.tscn
index fe25d81550dd18da24b8e4c8b0e3e2f4afe4199d..6fc6600b0a472ae5484f1ce010b01ff75cba6688 100644
--- a/techniques/control/3DSlider/3DSlider.tscn
+++ b/techniques/control/3DSlider/3DSlider.tscn
@@ -1,28 +1,28 @@
-[gd_scene load_steps=12 format=2]
+[gd_scene load_steps=12 format=3 uid="uid://d1sq58j73dcyh"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/control/3DSlider/3DSlider.gd" type="Script" id=1]
-[ext_resource path="res://addons/ivmi-builder/techniques/control/3DSlider/3DSliderParent.gd" type="Script" id=2]
-[ext_resource path="res://addons/ivmi-builder/visualization/box_slider.gdshader" type="Shader" id=3]
-[ext_resource path="res://addons/ivmi-builder/visualization/SimpleLine.tscn" type="PackedScene" id=4]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/control/3DSlider/3DSlider.gd" id="1"]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/control/3DSlider/3DSliderParent.gd" id="2"]
+[ext_resource type="Shader" path="res://addons/ivmi-builder/visualization/box_slider.gdshader" id="3"]
+[ext_resource type="PackedScene" uid="uid://cbede1qesppcg" path="res://addons/ivmi-builder/visualization/SimpleLine.tscn" id="4"]
 
-[sub_resource type="BoxMesh" id=1]
-size = Vector3( 1, 1, 1 )
+[sub_resource type="BoxMesh" id="1"]
 subdivide_width = 10
 subdivide_height = 10
 subdivide_depth = 10
 
-[sub_resource type="ShaderMaterial" id=2]
-shader = ExtResource( 3 )
+[sub_resource type="ShaderMaterial" id="2"]
+render_priority = 0
+shader = ExtResource("3")
 
-[sub_resource type="BoxMesh" id=3]
+[sub_resource type="BoxMesh" id="3"]
 
-[sub_resource type="StandardMaterial3D" id=4]
-albedo_color = Color( 0.25, 0.458333, 0.5, 1 )
+[sub_resource type="StandardMaterial3D" id="4"]
+albedo_color = Color(0.25, 0.458333, 0.5, 1)
 
-[sub_resource type="BoxShape3D" id=5]
-size = Vector3( 0.100379, 0.0983211, 0.100575 )
+[sub_resource type="BoxShape3D" id="5"]
+size = Vector3(0.100379, 0.0983211, 0.100575)
 
-[sub_resource type="GDScript" id=6]
+[sub_resource type="GDScript" id="6"]
 script/source = "extends ImmediateMesh
 
 
@@ -49,60 +49,61 @@ func update_points(_new_pointA, _new_pointB):
 	_pointB = _new_pointB
 "
 
-[sub_resource type="Curve" id=7]
-_data = [ Vector2( 0, 0 ), 0.0, 4.16674, 0, 1, Vector2( 0.146179, 0.609091 ), 0.0, 0.0, 0, 0, Vector2( 0.152824, 0.136364 ), 0.291102, 0.291102, 0, 0, Vector2( 0.352159, 0.709091 ), 0.0, 0.0, 0, 0, Vector2( 0.378738, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 0 ), -1.60963, 0.0, 1, 0 ]
+[sub_resource type="Curve" id="7"]
+_data = [Vector2(0, 0), 0.0, 4.16674, 0, 1, Vector2(0.146179, 0.609091), 0.0, 0.0, 0, 0, Vector2(0.152824, 0.136364), 0.291102, 0.291102, 0, 0, Vector2(0.352159, 0.709091), 0.0, 0.0, 0, 0, Vector2(0.378738, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -1.60963, 0.0, 1, 0]
+point_count = 6
 
 [node name="3DSlider" type="Node3D"]
-script = ExtResource( 2 )
+script = ExtResource("2")
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-transform = Transform3D( 2.5, 0, 0, 0, 2.5, 0, 0, 0, 2.5, 0, 0, 0 )
-mesh = SubResource( 1 )
-material/0 = SubResource( 2 )
+transform = Transform3D(2.5, 0, 0, 0, 2.5, 0, 0, 0, 2.5, 0, 0, 0)
+mesh = SubResource("1")
+material/0 = SubResource("2")
 
 [node name="Cursor" type="Node3D" parent="."]
-script = ExtResource( 1 )
+script = ExtResource("1")
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="Cursor"]
-transform = Transform3D( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0 )
-mesh = SubResource( 3 )
-material/0 = SubResource( 4 )
+transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
+mesh = SubResource("3")
+material/0 = SubResource("4")
 
 [node name="StaticBody3D" type="StaticBody3D" parent="Cursor"]
 
 [node name="CollisionShape3D" type="CollisionShape3D" parent="Cursor/StaticBody3D"]
-shape = SubResource( 5 )
+shape = SubResource("5")
 
-[node name="SimpleLine" parent="." instance=ExtResource( 4 )]
-script = SubResource( 6 )
+[node name="SimpleLine" parent="." instance=ExtResource("4")]
+script = SubResource("6")
 _pointA_path = NodePath("../Position3D_X_1")
 _pointB_path = NodePath("../Position3D_X_2")
 
-[node name="SimpleLine2" parent="." instance=ExtResource( 4 )]
-script = SubResource( 6 )
+[node name="SimpleLine2" parent="." instance=ExtResource("4")]
+script = SubResource("6")
 _pointA_path = NodePath("../Position3D_Y_1")
 _pointB_path = NodePath("../Position3D_Y_2")
-remove_me = SubResource( 7 )
+remove_me = SubResource("7")
 
-[node name="SimpleLine3" parent="." instance=ExtResource( 4 )]
-script = SubResource( 6 )
+[node name="SimpleLine3" parent="." instance=ExtResource("4")]
+script = SubResource("6")
 _pointA_path = NodePath("../Position3D_Z_1")
 _pointB_path = NodePath("../Position3D_Z_2")
 
 [node name="Position3D_X_1" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0)
 
 [node name="Position3D_X_2" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0)
 
 [node name="Position3D_Y_1" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
 
 [node name="Position3D_Y_2" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
 
 [node name="Position3D_Z_1" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
 
 [node name="Position3D_Z_2" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1)
diff --git a/techniques/control/Button.tscn b/techniques/control/Button.tscn
index da03bf21b2a457b9b2bf253842c0e6f4e2aa7c88..a0d19e4c1e9c7aed653520cefd44d34aa10199cc 100644
--- a/techniques/control/Button.tscn
+++ b/techniques/control/Button.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=8 format=2]
+[gd_scene load_steps=8 format=3 uid="uid://cepfuiqimac7m"]
 
-[sub_resource type="GDScript" id=1]
+[sub_resource type="GDScript" id="1"]
 script/source = "extends \"res://core/IvmiNode.gd\"
 
 signal button_pressed
@@ -35,9 +35,9 @@ func _set_property(prop, vals) :
 			
 "
 
-[sub_resource type="BoxMesh" id=2]
+[sub_resource type="BoxMesh" id="2"]
 
-[sub_resource type="GDScript" id=3]
+[sub_resource type="GDScript" id="3"]
 script/source = "extends RigidBody3D
 
 @export var button_spring_force = 5
@@ -99,59 +99,59 @@ func _physics_process(delta):
 		
 "
 
-[sub_resource type="BoxMesh" id=4]
+[sub_resource type="BoxMesh" id="4"]
 
-[sub_resource type="StandardMaterial3D" id=5]
-albedo_color = Color( 1, 0, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="5"]
+albedo_color = Color(1, 0, 0, 1)
 
-[sub_resource type="BoxShape3D" id=6]
-size = Vector3( 0.757024, 0.750126, 0.300778 )
+[sub_resource type="BoxShape3D" id="6"]
+size = Vector3(0.757024, 0.750126, 0.300778)
 
-[sub_resource type="SphereMesh" id=7]
+[sub_resource type="SphereMesh" id="7"]
 
 [node name="Button" type="Node3D"]
-transform = Transform3D( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0 )
-script = SubResource( 1 )
+transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
+script = SubResource("1")
 
 [node name="ButtonBase" type="MeshInstance3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 0.4, 0, 0, 0 )
-mesh = SubResource( 2 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.4, 0, 0, 0)
+mesh = SubResource("2")
 material/0 = null
 
 [node name="Body" type="RigidBody3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.25 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.25)
 gravity_scale = 0.0
 axis_lock_angular_x = true
 axis_lock_angular_y = true
 axis_lock_angular_z = true
-script = SubResource( 3 )
+script = SubResource("3")
 end_point_node_path = NodePath("../EndPoint")
 start_point_node_path = NodePath("../StartPoint")
 button_mesh_node_path = NodePath("Button")
 
 [node name="Button" type="MeshInstance3D" parent="Body"]
-transform = Transform3D( 0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.3, 0, 0, 0 )
-mesh = SubResource( 4 )
-material/0 = SubResource( 5 )
+transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.3, 0, 0, 0)
+mesh = SubResource("4")
+material/0 = SubResource("5")
 
 [node name="CollisionShape3D" type="CollisionShape3D" parent="Body"]
-shape = SubResource( 6 )
+shape = SubResource("6")
 
 [node name="EndPoint" type="Node3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.35 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.35)
 visible = false
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="EndPoint"]
-transform = Transform3D( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0 )
-mesh = SubResource( 7 )
+transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
+mesh = SubResource("7")
 material/0 = null
 
 [node name="StartPoint" type="Node3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.15 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.15)
 visible = false
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="StartPoint"]
-transform = Transform3D( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0 )
+transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
 visible = false
-mesh = SubResource( 7 )
+mesh = SubResource("7")
 material/0 = null
diff --git a/techniques/control/Button/Button.tscn b/techniques/control/Button/Button.tscn
index d50bdfd099b62d53c414250b2da567afd2630717..d2fee291212d5d490c2260590b80614baa00c055 100644
--- a/techniques/control/Button/Button.tscn
+++ b/techniques/control/Button/Button.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=8 format=2]
+[gd_scene load_steps=8 format=3 uid="uid://c55nmaqbh8r1e"]
 
-[sub_resource type="GDScript" id=1]
+[sub_resource type="GDScript" id="1"]
 script/source = "extends \"res://addons/ivmi-builder/core/IvmiNode.gd\"
 
 signal button_pressed
@@ -34,9 +34,9 @@ func _set_property(prop, vals) :
 			
 "
 
-[sub_resource type="BoxMesh" id=2]
+[sub_resource type="BoxMesh" id="2"]
 
-[sub_resource type="GDScript" id=3]
+[sub_resource type="GDScript" id="3"]
 script/source = "extends RigidBody3D
 
 @export var button_spring_force = 5
@@ -98,59 +98,59 @@ func _physics_process(delta):
 		
 "
 
-[sub_resource type="BoxMesh" id=4]
+[sub_resource type="BoxMesh" id="4"]
 
-[sub_resource type="StandardMaterial3D" id=5]
-albedo_color = Color( 1, 0, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="5"]
+albedo_color = Color(1, 0, 0, 1)
 
-[sub_resource type="BoxShape3D" id=6]
-size = Vector3( 0.757024, 0.750126, 0.300778 )
+[sub_resource type="BoxShape3D" id="6"]
+size = Vector3(0.757024, 0.750126, 0.300778)
 
-[sub_resource type="SphereMesh" id=7]
+[sub_resource type="SphereMesh" id="7"]
 
 [node name="Button" type="Node3D"]
-transform = Transform3D( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0 )
-script = SubResource( 1 )
+transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
+script = SubResource("1")
 
 [node name="ButtonBase" type="MeshInstance3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 0.4, 0, 0, 0 )
-mesh = SubResource( 2 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.4, 0, 0, 0)
+mesh = SubResource("2")
 material/0 = null
 
 [node name="Body" type="RigidBody3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.25 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.25)
 gravity_scale = 0.0
 axis_lock_angular_x = true
 axis_lock_angular_y = true
 axis_lock_angular_z = true
-script = SubResource( 3 )
+script = SubResource("3")
 end_point_node_path = NodePath("../EndPoint")
 start_point_node_path = NodePath("../StartPoint")
 button_mesh_node_path = NodePath("Button")
 
 [node name="Button" type="MeshInstance3D" parent="Body"]
-transform = Transform3D( 0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.3, 0, 0, 0 )
-mesh = SubResource( 4 )
-material/0 = SubResource( 5 )
+transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.3, 0, 0, 0)
+mesh = SubResource("4")
+material/0 = SubResource("5")
 
 [node name="CollisionShape3D" type="CollisionShape3D" parent="Body"]
-shape = SubResource( 6 )
+shape = SubResource("6")
 
 [node name="EndPoint" type="Node3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.35 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.35)
 visible = false
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="EndPoint"]
-transform = Transform3D( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0 )
-mesh = SubResource( 7 )
+transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
+mesh = SubResource("7")
 material/0 = null
 
 [node name="StartPoint" type="Node3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.15 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.15)
 visible = false
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="StartPoint"]
-transform = Transform3D( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0 )
+transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
 visible = false
-mesh = SubResource( 7 )
+mesh = SubResource("7")
 material/0 = null
diff --git a/techniques/control/Button/Button_v2.tscn b/techniques/control/Button/Button_v2.tscn
index 47d6f99b392ce9ab56f94ddc02d58d4b55cbd719..3f2ed180928b7b10dadaaf0a4200531fe7ddea28 100644
--- a/techniques/control/Button/Button_v2.tscn
+++ b/techniques/control/Button/Button_v2.tscn
@@ -1,38 +1,38 @@
-[gd_scene load_steps=6 format=2]
+[gd_scene load_steps=6 format=3 uid="uid://tu6pvoih6823"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/control/Button/Button.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/control/Button/Button.gd" id="1"]
 
-[sub_resource type="BoxMesh" id=1]
+[sub_resource type="BoxMesh" id="1"]
 
-[sub_resource type="BoxMesh" id=2]
+[sub_resource type="BoxMesh" id="2"]
 
-[sub_resource type="StandardMaterial3D" id=3]
-albedo_color = Color( 1, 0, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="3"]
+albedo_color = Color(1, 0, 0, 1)
 
-[sub_resource type="BoxShape3D" id=4]
-size = Vector3( 1, 1, 0.553743 )
+[sub_resource type="BoxShape3D" id="4"]
+size = Vector3(1, 1, 0.553743)
 
 [node name="Button" type="Node3D"]
-transform = Transform3D( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0 )
-script = ExtResource( 1 )
+transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
+script = ExtResource("1")
 
 [node name="ButtonBase" type="MeshInstance3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 0.4, 0, 0, 0 )
-mesh = SubResource( 1 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.4, 0, 0, 0)
+mesh = SubResource("1")
 material/0 = null
 
 [node name="Button" type="MeshInstance3D" parent="."]
-transform = Transform3D( 0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.3, 0, 0, 0.35 )
-mesh = SubResource( 2 )
-material/0 = SubResource( 3 )
+transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.3, 0, 0, 0.35)
+mesh = SubResource("2")
+material/0 = SubResource("3")
 
 [node name="Released" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.35 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.35)
 
 [node name="Pressed" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.15 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.15)
 
 [node name="StaticBody3D" type="StaticBody3D" parent="."]
 
 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
-shape = SubResource( 4 )
+shape = SubResource("4")
diff --git a/techniques/control/Button/Button_v3.tscn b/techniques/control/Button/Button_v3.tscn
index d6994293ddacff5a8739d18f89a81950cab07985..ffec88a67eb616ac27db91b854569cf00face61d 100644
--- a/techniques/control/Button/Button_v3.tscn
+++ b/techniques/control/Button/Button_v3.tscn
@@ -1,38 +1,38 @@
-[gd_scene load_steps=6 format=2]
+[gd_scene load_steps=6 format=3 uid="uid://iu0s73mjbqfx"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/control/Button/Button_v3.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/control/Button/Button_v3.gd" id="1"]
 
-[sub_resource type="BoxMesh" id=1]
+[sub_resource type="BoxMesh" id="1"]
 
-[sub_resource type="BoxMesh" id=2]
+[sub_resource type="BoxMesh" id="2"]
 
-[sub_resource type="StandardMaterial3D" id=3]
-albedo_color = Color( 1, 0, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="3"]
+albedo_color = Color(1, 0, 0, 1)
 
-[sub_resource type="BoxShape3D" id=4]
-size = Vector3( 1, 1, 0.553743 )
+[sub_resource type="BoxShape3D" id="4"]
+size = Vector3(1, 1, 0.553743)
 
 [node name="Button" type="Node3D"]
-transform = Transform3D( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0 )
-script = ExtResource( 1 )
+transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
+script = ExtResource("1")
 
 [node name="ButtonBase" type="MeshInstance3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 0.4, 0, 0, 0 )
-mesh = SubResource( 1 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.4, 0, 0, 0)
+mesh = SubResource("1")
 material/0 = null
 
 [node name="Button" type="MeshInstance3D" parent="."]
-transform = Transform3D( 0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.3, 0, 0, 0.35 )
-mesh = SubResource( 2 )
-material/0 = SubResource( 3 )
+transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.3, 0, 0, 0.35)
+mesh = SubResource("2")
+material/0 = SubResource("3")
 
 [node name="Released" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.35 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.35)
 
 [node name="Pressed" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.15 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.15)
 
 [node name="StaticBody3D" type="StaticBody3D" parent="."]
 
 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
-shape = SubResource( 4 )
+shape = SubResource("4")
diff --git a/techniques/control/Knob/Knob.tscn b/techniques/control/Knob/Knob.tscn
index cc55c25e67562dcf0c17b89a758a32f246842612..20e480f489abf4a3138706fd83199786f718d6d7 100644
--- a/techniques/control/Knob/Knob.tscn
+++ b/techniques/control/Knob/Knob.tscn
@@ -1,47 +1,47 @@
-[gd_scene load_steps=9 format=2]
+[gd_scene load_steps=9 format=3 uid="uid://c0ihd4007xrs4"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/control/Knob/KnobParent.gd" type="Script" id=1]
-[ext_resource path="res://addons/ivmi-builder/techniques/control/Knob/Knob.gd" type="Script" id=2]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/control/Knob/KnobParent.gd" id="1"]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/control/Knob/Knob.gd" id="2"]
 
-[sub_resource type="BoxMesh" id=1]
+[sub_resource type="BoxMesh" id="1"]
 
-[sub_resource type="CylinderMesh" id=4]
+[sub_resource type="CylinderMesh" id="4"]
 
-[sub_resource type="StandardMaterial3D" id=5]
-albedo_color = Color( 1, 0, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="5"]
+albedo_color = Color(1, 0, 0, 1)
 
-[sub_resource type="CylinderMesh" id=2]
+[sub_resource type="CylinderMesh" id="2"]
 
-[sub_resource type="StandardMaterial3D" id=3]
-albedo_color = Color( 0, 0, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="3"]
+albedo_color = Color(0, 0, 0, 1)
 
-[sub_resource type="CylinderShape3D" id=6]
-radius = 0.599106
+[sub_resource type="CylinderShape3D" id="6"]
 height = 0.378027
+radius = 0.599106
 
 [node name="Knob" type="Node3D"]
-script = ExtResource( 1 )
+script = ExtResource("1")
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 0.5, 0, 0, 0 )
-mesh = SubResource( 1 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.5, 0, 0, 0)
+mesh = SubResource("1")
 material/0 = null
 
 [node name="Body" type="Node3D" parent="."]
-script = ExtResource( 2 )
+script = ExtResource("2")
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="Body"]
-transform = Transform3D( 0.6, 0, 0, 0, -8.74228e-09, -0.6, 0, 0.2, -2.62268e-08, 0, 0, 0.684353 )
-mesh = SubResource( 4 )
-material/0 = SubResource( 5 )
+transform = Transform3D(0.6, 0, 0, 0, -8.74228e-09, -0.6, 0, 0.2, -2.62268e-08, 0, 0, 0.684353)
+mesh = SubResource("4")
+material/0 = SubResource("5")
 
 [node name="MeshInstance2" type="MeshInstance3D" parent="Body"]
-transform = Transform3D( 0.1, 0, 0, 0, -0.5, 1.50996e-08, 0, -7.54979e-08, -0.1, 0, 0.379762, 0.669757 )
-mesh = SubResource( 2 )
-material/0 = SubResource( 3 )
+transform = Transform3D(0.1, 0, 0, 0, -0.5, 1.50996e-08, 0, -7.54979e-08, -0.1, 0, 0.379762, 0.669757)
+mesh = SubResource("2")
+material/0 = SubResource("3")
 
 [node name="StaticBody3D" type="StaticBody3D" parent="Body"]
 
 [node name="CollisionShape3D" type="CollisionShape3D" parent="Body/StaticBody3D"]
-transform = Transform3D( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.687674 )
-shape = SubResource( 6 )
+transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0.687674)
+shape = SubResource("6")
diff --git a/techniques/control/Switch/Switch.tscn b/techniques/control/Switch/Switch.tscn
index 74485f597ad3367503637d110e31eb0f3e9c7332..84cce222b56544da9bc129a2addd3d6595466816 100644
--- a/techniques/control/Switch/Switch.tscn
+++ b/techniques/control/Switch/Switch.tscn
@@ -1,67 +1,67 @@
-[gd_scene load_steps=11 format=2]
+[gd_scene load_steps=11 format=3 uid="uid://vxv4fyjy7mf1"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/control/Switch/Switch.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/control/Switch/Switch.gd" id="1"]
 
-[sub_resource type="BoxMesh" id=1]
+[sub_resource type="BoxMesh" id="1"]
 
-[sub_resource type="BoxMesh" id=2]
+[sub_resource type="BoxMesh" id="2"]
 
-[sub_resource type="StandardMaterial3D" id=3]
-albedo_color = Color( 0.686275, 0.686275, 0.686275, 1 )
+[sub_resource type="StandardMaterial3D" id="3"]
+albedo_color = Color(0.686275, 0.686275, 0.686275, 1)
 
-[sub_resource type="StandardMaterial3D" id=4]
-albedo_color = Color( 0.168627, 0.168627, 0.168627, 1 )
+[sub_resource type="StandardMaterial3D" id="4"]
+albedo_color = Color(0.168627, 0.168627, 0.168627, 1)
 
-[sub_resource type="BoxMesh" id=5]
-material = SubResource( 4 )
+[sub_resource type="BoxMesh" id="5"]
+material = SubResource("4")
 
-[sub_resource type="CylinderMesh" id=6]
+[sub_resource type="CylinderMesh" id="6"]
 
-[sub_resource type="StandardMaterial3D" id=7]
-albedo_color = Color( 0, 0.5, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="7"]
+albedo_color = Color(0, 0.5, 0, 1)
 
-[sub_resource type="StandardMaterial3D" id=8]
-albedo_color = Color( 0.5, 0, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="8"]
+albedo_color = Color(0.5, 0, 0, 1)
 
-[sub_resource type="BoxShape3D" id=9]
-size = Vector3( 1.13871, 0.54225, 0.383565 )
+[sub_resource type="BoxShape3D" id="9"]
+size = Vector3(1.13871, 0.54225, 0.383565)
 
 [node name="Switch" type="Node3D"]
-script = ExtResource( 1 )
+script = ExtResource("1")
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-transform = Transform3D( 1.1422, 0, 0, 0, 0.534412, 0, 0, 0, 0.279885, 0, 0, 0 )
-mesh = SubResource( 1 )
+transform = Transform3D(1.1422, 0, 0, 0, 0.534412, 0, 0, 0, 0.279885, 0, 0, 0)
+mesh = SubResource("1")
 material/0 = null
 
 [node name="MeshInstance2" type="MeshInstance3D" parent="."]
-transform = Transform3D( 0.925302, 0, 0, 0, 0.194713, 0, 0, 0, 0.147171, 0, 0, 0.255825 )
-mesh = SubResource( 2 )
-material/0 = SubResource( 3 )
+transform = Transform3D(0.925302, 0, 0, 0, 0.194713, 0, 0, 0, 0.147171, 0, 0, 0.255825)
+mesh = SubResource("2")
+material/0 = SubResource("3")
 
 [node name="Slider" type="MeshInstance3D" parent="."]
-transform = Transform3D( 0.18, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0.6, 0, 0.4 )
-mesh = SubResource( 5 )
+transform = Transform3D(0.18, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0.6, 0, 0.4)
+mesh = SubResource("5")
 material/0 = null
 
 [node name="LedOn" type="MeshInstance3D" parent="."]
-transform = Transform3D( 0.1, 0, 0, 0, -4.37114e-09, -0.1, 0, 0.1, -4.37114e-09, -0.2, 0.4, 0.2 )
-mesh = SubResource( 6 )
-material/0 = SubResource( 7 )
+transform = Transform3D(0.1, 0, 0, 0, -4.37114e-09, -0.1, 0, 0.1, -4.37114e-09, -0.2, 0.4, 0.2)
+mesh = SubResource("6")
+material/0 = SubResource("7")
 
 [node name="LedOff" type="MeshInstance3D" parent="."]
-transform = Transform3D( 0.1, 0, 0, 0, -4.37114e-09, -0.1, 0, 0.1, -4.37114e-09, 0.2, 0.4, 0.2 )
-mesh = SubResource( 6 )
-material/0 = SubResource( 8 )
+transform = Transform3D(0.1, 0, 0, 0, -4.37114e-09, -0.1, 0, 0.1, -4.37114e-09, 0.2, 0.4, 0.2)
+mesh = SubResource("6")
+material/0 = SubResource("8")
 
 [node name="PosOn" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 0, 0.4 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.6, 0, 0.4)
 
 [node name="PosOff" type="Marker3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0, 0.4 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0, 0.4)
 
 [node name="StaticBody3D" type="StaticBody3D" parent="."]
 
 [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.107878 )
-shape = SubResource( 9 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.107878)
+shape = SubResource("9")
diff --git a/techniques/manipulation/Cursor.tscn b/techniques/manipulation/Cursor.tscn
index 619f08296e652ed3f2023c2504818df94f85bb50..de2979c4381cbe151405383952fb1c7609cfd008 100644
--- a/techniques/manipulation/Cursor.tscn
+++ b/techniques/manipulation/Cursor.tscn
@@ -1,29 +1,29 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://ctnft2vn3y0ir"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/manipulation/Cursor.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/manipulation/Cursor.gd" id="1"]
 
-[sub_resource type="SphereMesh" id=1]
+[sub_resource type="SphereMesh" id="1"]
 radius = 0.25
 height = 0.5
 
-[sub_resource type="StandardMaterial3D" id=2]
-flags_transparent = true
-albedo_color = Color( 1, 1, 1, 0.6 )
+[sub_resource type="StandardMaterial3D" id="2"]
+transparency = 1
+albedo_color = Color(1, 1, 1, 0.6)
 
-[sub_resource type="SphereShape3D" id=3]
+[sub_resource type="SphereShape3D" id="3"]
 radius = 0.25
 
 [node name="Cursor" type="Node3D"]
-script = ExtResource( 1 )
+script = ExtResource("1")
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-mesh = SubResource( 1 )
-material/0 = SubResource( 2 )
+mesh = SubResource("1")
+material/0 = SubResource("2")
 
 [node name="Area3D" type="Area3D" parent="."]
 
 [node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"]
-shape = SubResource( 3 )
+shape = SubResource("3")
 
 [connection signal="area_entered" from="Area3D" to="." method="_on_Area_area_entered"]
 [connection signal="area_exited" from="Area3D" to="." method="_on_Area_area_exited"]
diff --git a/techniques/manipulation/GO-GO.tscn b/techniques/manipulation/GO-GO.tscn
index c4661f4b02ba4f0304d7b674376f8a333ef9c77e..aacd50a86a07aa6d18eac97411d1de33ad73f82e 100644
--- a/techniques/manipulation/GO-GO.tscn
+++ b/techniques/manipulation/GO-GO.tscn
@@ -1,7 +1,7 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=3 format=3 uid="uid://c2qttqhiqq6ws"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/manipulation/GO-GO.gd" type="Script" id=1]
-[ext_resource path="res://addons/ivmi-builder/techniques/manipulation/Cursor.tscn" type="PackedScene" id=2]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/manipulation/GO-GO.gd" id="1"]
+[ext_resource type="PackedScene" uid="uid://ctnft2vn3y0ir" path="res://addons/ivmi-builder/techniques/manipulation/Cursor.tscn" id="2"]
 
-[node name="GO-GO" instance=ExtResource( 2 )]
-script = ExtResource( 1 )
+[node name="GO-GO" instance=ExtResource("2")]
+script = ExtResource("1")
diff --git a/techniques/navigation/FlyingController.tscn b/techniques/navigation/FlyingController.tscn
index f8086530f82e390c70cbea57fcbba32ad5582234..45416c595b6cb78b7da5e7c9fb67c570f6b47a1f 100644
--- a/techniques/navigation/FlyingController.tscn
+++ b/techniques/navigation/FlyingController.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://dtqwnhdn7tfv0"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/navigation/FlyingController.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/navigation/FlyingController.gd" id="1"]
 
 [node name="FlyingController" type="Node3D"]
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/techniques/navigation/FlyingGaze.tscn b/techniques/navigation/FlyingGaze.tscn
index f65250bfa96aa403dd7ecf4fb5e27c2d264cb727..a1923e0cc90c1c594df1bf05b426e2b6a75c4c88 100644
--- a/techniques/navigation/FlyingGaze.tscn
+++ b/techniques/navigation/FlyingGaze.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://cg4psnchytii"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/navigation/FlyingGaze.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/navigation/FlyingGaze.gd" id="1"]
 
 [node name="FlyingGaze" type="Node3D"]
-script = ExtResource( 1 )
+script = ExtResource("1")
diff --git a/techniques/navigation/Teleport.tscn b/techniques/navigation/Teleport.tscn
index ad35c1a249986bcd116b406cd3ee794d5eff998e..d97eeb3360a18f9c282b7d5bf0d2b43502929e48 100644
--- a/techniques/navigation/Teleport.tscn
+++ b/techniques/navigation/Teleport.tscn
@@ -1,28 +1,28 @@
-[gd_scene load_steps=5 format=2]
+[gd_scene load_steps=5 format=3 uid="uid://ng7fvyns6vye"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/navigation/Teleport.gd" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/ivmi-builder/techniques/navigation/Teleport.gd" id="1"]
 
-[sub_resource type="SphereMesh" id=1]
+[sub_resource type="SphereMesh" id="1"]
 
-[sub_resource type="StandardMaterial3D" id=2]
-albedo_color = Color( 0.054902, 1, 0, 1 )
+[sub_resource type="StandardMaterial3D" id="2"]
+albedo_color = Color(0.054902, 1, 0, 1)
 
-[sub_resource type="SphereMesh" id=3]
+[sub_resource type="SphereMesh" id="3"]
 
 [node name="Teleport" type="Node3D"]
-script = ExtResource( 1 )
+script = ExtResource("1")
 
 [node name="Target" type="Node3D" parent="."]
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="Target"]
-transform = Transform3D( 0.1, 0, 0, 0, 0.05, 0, 0, 0, 0.1, 0, 0, 0 )
-mesh = SubResource( 1 )
-material/0 = SubResource( 2 )
+transform = Transform3D(0.1, 0, 0, 0, 0.05, 0, 0, 0, 0.1, 0, 0, 0)
+mesh = SubResource("1")
+material/0 = SubResource("2")
 
 [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
-transform = Transform3D( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0 )
-mesh = SubResource( 3 )
+transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
+mesh = SubResource("3")
 material/0 = null
 
 [node name="RayCast3D" type="RayCast3D" parent="MeshInstance3D"]
-transform = Transform3D( 10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0 )
+transform = Transform3D(10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0)
diff --git a/techniques/packed_techniques/FlyingControllerGOGO.tscn b/techniques/packed_techniques/FlyingControllerGOGO.tscn
index 24e3d405233869cf63eb3dec3066269fb94c8b53..94bd3b6606f6e36506ee8bd430c5c7963a6bf2b6 100644
--- a/techniques/packed_techniques/FlyingControllerGOGO.tscn
+++ b/techniques/packed_techniques/FlyingControllerGOGO.tscn
@@ -1,25 +1,25 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=3 format=3 uid="uid://25lhwdaodlfh"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/navigation/FlyingController.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/ivmi-builder/techniques/manipulation/GO-GO.tscn" type="PackedScene" id=2]
+[ext_resource type="PackedScene" uid="uid://dtqwnhdn7tfv0" path="res://addons/ivmi-builder/techniques/navigation/FlyingController.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://c2qttqhiqq6ws" path="res://addons/ivmi-builder/techniques/manipulation/GO-GO.tscn" id="2"]
 
 [node name="FlyingControllerGOGO" type="XROrigin3D"]
 
 [node name="LeftController" type="XRController3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.5 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.5)
 
 [node name="RightController" type="XRController3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.5 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.5)
 controller_id = 2
 
 [node name="XRCamera3D" type="XRCamera3D" parent="."]
 
-[node name="FlyingController" parent="." instance=ExtResource( 1 )]
+[node name="FlyingController" parent="." instance=ExtResource("1")]
 _camera_node_path = NodePath("../XRCamera3D")
 _controller_node_path = NodePath("../RightController")
 _arvrorigin_node_path = NodePath("..")
 
-[node name="GO-GO" parent="." instance=ExtResource( 2 )]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.5 )
+[node name="GO-GO" parent="." instance=ExtResource("2")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.5)
 _controller_node_path = NodePath("../LeftController")
 _camera_node_path = NodePath("../XRCamera3D")
diff --git a/techniques/packed_techniques/FlyingGazeCursor.tscn b/techniques/packed_techniques/FlyingGazeCursor.tscn
index cfe948ede7ebaa42b95eb4e1089931bb0810f021..5c10392965e279130c98dd7582901151e7728a6e 100644
--- a/techniques/packed_techniques/FlyingGazeCursor.tscn
+++ b/techniques/packed_techniques/FlyingGazeCursor.tscn
@@ -1,25 +1,25 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=3 format=3 uid="uid://beo7x3sja84ov"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/manipulation/Cursor.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/ivmi-builder/techniques/navigation/FlyingGaze.tscn" type="PackedScene" id=2]
+[ext_resource type="PackedScene" uid="uid://ctnft2vn3y0ir" path="res://addons/ivmi-builder/techniques/manipulation/Cursor.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://cg4psnchytii" path="res://addons/ivmi-builder/techniques/navigation/FlyingGaze.tscn" id="2"]
 
 [node name="FlyingGazeCursor" type="XROrigin3D"]
 
 [node name="LeftController" type="XRController3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1)
 
 [node name="RightController" type="XRController3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1)
 controller_id = 2
 
-[node name="Cursor" parent="." instance=ExtResource( 1 )]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1 )
+[node name="Cursor" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1)
 _controller_node_path = NodePath("../LeftController")
 _camera_node_path = NodePath("../XRCamera3D")
 
 [node name="XRCamera3D" type="XRCamera3D" parent="."]
 
-[node name="FlyingGaze" parent="." instance=ExtResource( 2 )]
+[node name="FlyingGaze" parent="." instance=ExtResource("2")]
 _camera_node_path = NodePath("../XRCamera3D")
 _controller_node_path = NodePath("../RightController")
 _arvrorigin_node_path = NodePath("..")
diff --git a/techniques/packed_techniques/FlyingGazeHOMER.tscn b/techniques/packed_techniques/FlyingGazeHOMER.tscn
index 7904616fe113a8b6c522c9f749e7a9662264bdad..d8502dcd5a6aa1e545b9144b797eb27384b7b1ac 100644
--- a/techniques/packed_techniques/FlyingGazeHOMER.tscn
+++ b/techniques/packed_techniques/FlyingGazeHOMER.tscn
@@ -1,26 +1,26 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=3 format=3 uid="uid://1m4ch5sb2pyf"]
 
-[ext_resource path="res://addons/ivmi-builder/techniques/manipulation/HOMER.tscn" type="PackedScene" id=1]
-[ext_resource path="res://addons/ivmi-builder/techniques/navigation/FlyingGaze.tscn" type="PackedScene" id=2]
+[ext_resource type="PackedScene" uid="uid://cp6bltsdhj3aw" path="res://addons/ivmi-builder/techniques/manipulation/HOMER.tscn" id="1"]
+[ext_resource type="PackedScene" uid="uid://cg4psnchytii" path="res://addons/ivmi-builder/techniques/navigation/FlyingGaze.tscn" id="2"]
 
 [node name="FlyingGazeHOMER" type="XROrigin3D"]
 
 [node name="LeftController" type="XRController3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0)
 
 [node name="RightController" type="XRController3D" parent="."]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0 )
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0)
 controller_id = 2
 
 [node name="XRCamera3D" type="XRCamera3D" parent="."]
 
-[node name="HOMER" parent="." instance=ExtResource( 1 )]
-transform = Transform3D( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0 )
+[node name="HOMER" parent="." instance=ExtResource("1")]
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0)
 _controller_node_path = NodePath("../LeftController")
 _camera_node_path = NodePath("../XRCamera3D")
 _arvr_origin_node_path = NodePath("..")
 
-[node name="FlyingGaze" parent="." instance=ExtResource( 2 )]
+[node name="FlyingGaze" parent="." instance=ExtResource("2")]
 _camera_node_path = NodePath("../XRCamera3D")
 _controller_node_path = NodePath("../RightController")
 _arvrorigin_node_path = NodePath("..")