Download

[SOLVED] SceneComponent's SetWorldLocation node does nothing?!

Screenshot of BP and result: https://i.imgur.com/Gmck8Hc.png

I have a BP that’s trying to move a SceneComponent inside another Actor. Yes, the Actor and Component are both valid and my “GetRelevantComponent” function returns the same one each time - it’s just a switch on an enum that rarely changes. The component I’m trying to move is a SceneComponent set to movable in the BP.

How can this node possibly be failing? I looked at the C++ code - it just directly sets the world location and won’t error out due to collision or anything.

I was thinking maybe another of my BPs, maybe in the Actor being modified, is changing the location back as soon as it’s edited - but no, the location is still unchanged immediately after the SetWorldLocation node.

Additional stuff: SetWorldRotation does work. Also, the component I’m trying to modify is parented to another SceneComponent in the same Actor - and its SetWorldLocation and SetWorldRotation both work. So what could be preventing the other one from moving?

Additional stuff:
the GetRelevantComponent function: https://i.imgur.com/ccQgMWU.png
the Actor’s scene layout: https://i.imgur.com/kELWWUj.jpg

[EDIT] Solved: I was initializing all the Components badly, causing them all to have a scale of (0, 0, 0). With the others parented to BaseTransform, there was no way to put them anywhere except at BaseTransform’s location, since the relative location would otherwise be infinite.