Why does the Construction Script refuse to report component offsets?

Here’s an actor with a box component whose relative transforms are untouched. The Construction Script prints the location of the said component. That should print 0s and it does, of course.

Below is an instance of the above actor in the scene, it has the very same component (thin line box) but it is offset by some 55000 uus. The actor still prints 0s when dragged around the scene when firing the Construction Script.

I was expecting it to print 55000 in Y. It does not :expressionless:

And the 2 questions:

  • why is the Construction Script spitting out defaults here, why not account for the offset?
  • is this the intended behaviour?

Strange on many fronts, a couple being:

  1. My construction script prints nothing, which I have read about, and:

  2. It does print to the log. Mine prints the offset to the log

( 4.24.3 )

Does it do the same in a new proj?

Oh yeah:

300981-annotation-2020-05-01-093842.jpg

I refuse to believe this is a bug - it would have been reported & fixed by now.

My construction script prints nothing

You should have it checked :wink:

Mine prints the offset to the log

I have no beef with printing per se - does it print the correct offset of the instance that is in the scene or the blueprint’s defaults?!


Perhaps it’s working as intended tbh. I am just looking for confirmation. I can work around quirks for as long as I understand them and are certain it’s not my method that is at fault here.

The ideal resolution here is someone pointing out that I do something incorrectly or that my expectations make little sense.

Anything is welcome, really.

It prints the components relative offset, in the BP. Nothing about the scene of course.

I don’t think what you have there is working correctly though. Does it do the same in a new proj?

I’ve found a great way to uncover what you’re doing wrong ( if anything ), is to make a post in captials like 'MASSIVE BUG FOUND 4.24". The moment any replies and you can’t take it down, then you’ll find what you did… :slight_smile:

1 Like

Ahahahaa, that’s ok. I’m a patient bear.

I’ll dig in the bug database, perhaps it was reported but rejected. I’ll post an update for sure whether I find something or not. Btw, the same happens for World Transform - the component reports its world transform in the constructor incorrectly - it reports the actor, it does not account for the local offset at all.


Perhaps it’s all about the order. The component prints defaults and then the Construction Script applies the transform, moving the component.

Like I say, print doesn’t normally work in contstructor, I’ve seen whole threads on it.

Maybe it’s disabled for a reason. But how did you make it work, is then the question…

Hoorah!..

But does it affect constructer calculations also?

Unfortunately yes. I was making a spawner with an exclusion zone based on a component:

Image from Gyazo

It works fine in the actor’s viewport, as seen above. But not in the world:

Image from Gyazo

The component’s location is not taken into account when the Construction Script reassembles instanced static meshes.

I learnt something today, thanks for participating in the process! Somehow I feel this is common knowledge I missed out on at some point :expressionless:

Here it is, in all its glory. It is and isn’t a bug at the same time; and it will not be fixed, sadly:

This is how it has to work since
instance component transforms aren’t
applied till after actor construction
is reran.

And the original issue:

300979-broken-logo.gif

2 Likes

It has always worked for me. I never questioned it. Place an actor in the scene, put print in the Construction Script - drag the actor around.

The easiest workaround I’ve found so far was to use a variable with 3d widget option ticked and use the component as a visual indicator only. Nowhere nearly as nifty but it works fine:

Image from Gyazo


I’d like to find a more modular solution to this as I was hoping to achieve a setup with way more complexity, and fiddling with variables is simply not good enough.

But does it affect constructer
calculations also?
Yes, I explained but my comment just got moderated for some reason, we’ll see ;p

Maybe this explains why a lot of marketplace stuff uses this method.

1 Like

It’s uncommon knowlege…

Looks like popcorn :slight_smile:

1 Like

Why was this moderated? No love for popcorn?!

1 Like