get_globlal_transform: Condition "!is_inside_tree()" is true for SkeletonIK

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By ferobregon

I am currently making a multiplayer game. Every player is instanced in the world script once it is connected to the server.
On the addChild method I keep getting this error:
get_globlal_transform: Condition “!is_inside_tree()” is true. Returned: Transform()
The error started to show up when I added an SkeletonIK node to the player skeleton and the error is no longer logged once I remove the IK node.
The functionality of the project is not affected and everything works fine, but the error is still showing.
Any suggestions about what could it be? Am I missing any SkeletonIK configuration?

Hey, once I get my game going I might add some online servers to it. Could you link some tutorials??

Amateur.game.dev. | 2021-04-24 00:16

:bust_in_silhouette: Reply From: Colophonius

This problem may occur when the target node of the SkeletonIK node is lower in node tree structure. Try to set the target node above its SkeletonIK node.

The target node is not lower, but is not above either, is on a sibling, could that be a problem?

ferobregon | 2021-05-13 18:42

I first interpreted “lower” as “lower on the hierarchy” as well, but it seems it just needs to be instanced/read before the SkeletonIK node. I moved my target node to be literally further up, but still having the same relative path (“…/…/…/Target”) and the error message disappeared.

Before:

Spatial
  Skeleton
    SkeletonIK
TargetNode <-

After:

TargetNode <-
Spatial
  Skeleton
    SkeletonIK

fredspipa | 2021-05-15 12:18

You are right! Thank you.
The engine has to load the IK targets needs before the IKs.
I found this documentation about the tree loading order very usefull:
https://kidscancode.org/godot_recipes/basics/tree_ready_order/

ferobregon | 2021-05-18 07:43