+1 vote

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:
getgloblaltransform: Condition "!isinsidetree()" 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?

Godot version 3.3
in Engine by (67 points)

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

1 Answer

+1 vote
Best answer

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.

by (46 points)
selected by

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

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

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/

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.