diff --git a/scene/3d/xr/xr_body_modifier_3d.cpp b/scene/3d/xr/xr_body_modifier_3d.cpp index ca68b5a0115..942af82c7a9 100644 --- a/scene/3d/xr/xr_body_modifier_3d.cpp +++ b/scene/3d/xr/xr_body_modifier_3d.cpp @@ -66,6 +66,10 @@ StringName XRBodyModifier3D::get_body_tracker() const { void XRBodyModifier3D::set_body_update(BitField p_body_update) { body_update = p_body_update; + + if (is_inside_tree()) { + _get_joint_data(); + } } BitField XRBodyModifier3D::get_body_update() const { diff --git a/scene/3d/xr/xr_face_modifier_3d.cpp b/scene/3d/xr/xr_face_modifier_3d.cpp index ff2b9ace858..6b8580aaecc 100644 --- a/scene/3d/xr/xr_face_modifier_3d.cpp +++ b/scene/3d/xr/xr_face_modifier_3d.cpp @@ -504,6 +504,10 @@ void XRFaceModifier3D::_bind_methods() { void XRFaceModifier3D::set_face_tracker(const StringName &p_tracker_name) { tracker_name = p_tracker_name; + + if (is_inside_tree()) { + _get_blend_data(); + } } StringName XRFaceModifier3D::get_face_tracker() const { diff --git a/scene/3d/xr/xr_hand_modifier_3d.cpp b/scene/3d/xr/xr_hand_modifier_3d.cpp index 872e169fa14..5b59f3a0519 100644 --- a/scene/3d/xr/xr_hand_modifier_3d.cpp +++ b/scene/3d/xr/xr_hand_modifier_3d.cpp @@ -50,6 +50,10 @@ void XRHandModifier3D::_bind_methods() { void XRHandModifier3D::set_hand_tracker(const StringName &p_tracker_name) { tracker_name = p_tracker_name; + + if (is_inside_tree()) { + _get_joint_data(); + } } StringName XRHandModifier3D::get_hand_tracker() const {