Can't rotate component unless I change location

I created a new project under 4.7.2 and I noticed that tick was working but my component wasn’t rotating

I animated the BP location and the component started rotating O.O

Simply doing this used to work fine :

ShipMeshComponent->RelativeRotation.Yaw += 500.0f * DeltaSeconds;

But now I have to do this:

	ShipMeshComponent->RelativeRotation.Yaw += 500.0f * DeltaSeconds;



       moveY += 0.1f * DeltaSeconds;
	FVector mover(0.0f, moveY,0.0f);

       this->SetActorLocation(mover, true);

I want to be able to rotate the component without having to move the whole BP and I don’t understand why I can’t simply rotate anymore.

I’ve created a new project twice and tried recreating the blueprint but nothing changes.

Try invoking ShipMeshComponent->SetRelativeLocation( YourUpdatedRotator) instead of updating the rotator member instance directly.

I think your workaround of SetActorLocation works because it internally invokes USceneComponent::SetRelativeLocationAndRotation which actually updates both location and rotation of the mesh to reflect their latest internal values. AFAIK setting the value directly without telling the component to update itself may not work.

Check out SceneComponent.cpp in case invoking SetRelativeLocation doesn’t do the trick for you.

I’ll try it, thanks ^ ^

ok SetRelativeRotation works just fine thanks!

I’d rotate the whole actor but can’t get actor to rotate. the location works but rotation does nothing.

I tried:
this->SetActorLocationAndRotation(mover, rotater);

the location moved but rotation was not working, but that’s probably for another post.

thanks for your help!