How can I rotate BP_Projectile Cone shape

First off, on the new Unreal 5 course, individual section resources do not have an embedded link for a specific forum. I am working on Warehouse Wreckage in this case. I do not recognize any of the drop down options as being associated with Warehouse Wreckage, so I figured blueprint-fps is the closest option.

I recently completed Unreal Engine 5 c++ developer, Section 2 Warehouse Wreckage, 21 Get Forward Vector. The instructor has us use a ball which is definitely easier to work with. I’m trying to use a cone shape instead for my projectile.

My problem is, when using a cone shape for the BP_Projectile it always ejects pointing upward. It will not give me the option to simply rotate the projectile in the Asset Viewport.

Under the details pane, I can only transform scale, not rotation.

I tried figuring out how to rotate the projectile using BP_Projectile Event Graph. The best I could figure was “Set Relative Rotation” which did rotate the projectile successfully but when I rotate the player controller the cone projectile rotation does not move with the player’s forward vector.

BP_Projectile Set Relative Location

I tried a few other things that didn’t seem to work

I tried to rotate the cone before turning it into a blueprint. This didn’t seem to have any effect.

How do I get the cone shape to point away from the firing location every single time no matter where I look?

I appreciate any notes. Thanks! :slight_smile:

Actually, the problem is that you set your cone as the root of your actor blueprint.

The solution is very simple: just make any other component the root. After doing this, you will be able to rotate the cone as you want.

If you are wondering which will be the perfect component for assigning root, you can choose the scene component or even any collision component (make sure to set its collision to no collision).

Screenshot 2022-08-19 082550

Hopefully, this will resolve your issue. :grin:

Warehouse Wreckage would technically go under unreal-cpp since it’s part of the Unreal C++ course, despite being purely blueprints for that section.

That said, Suryansh has it correct. You can’t rotate or move the root component inside of the blueprint editor. Make another component and set that as the root by dragging it in place of the cone (I recommend using a scene component)

How do I assign a new component as the root? I tried a couple of different things:::

BP_Projectile Scene1

I tried to add it to the existing projectile blueprint, but I couldn’t get it to move up to the root… It would always stay a sub-component.

Then I tried creating a new blueprint from the scene component. It says up in the right corner that it is the “parent class.” But on the left side menu, usually next to My Blueprint there is a components dropdown. It isn’t there and it is not listed under window or anything else… It will not let me add a StaticMeshComponent such as the Cone if I don’t have a components menu…

I’m sure I’m going about things incorrectly. If anyone has a free minute to shoot me a reply it would be appreciated. Thanks for your time!

You reassign the root component by dragging the desired component on top of the current root component. You should get a little pop-up asking if you want to assign as root or as child.

1 Like

I did try that, but I get errors.

When I try to drag the Scene Component up and try to drop it on (or above) the projectile (or the mesh.)

When I try to drag the Projectile (self) it literally does nothing

When I try to drag the Mesh it gives that error.

Maybe I’m adding the Scene incorrectly? Or I’m supposed to start with the Scene and drag in the Projectile somehow. Though when I tried to do this. If I start a blueprint on Scene it doesn’t give me the components dropdown as I showed in my previous post.

I’m adding scene to the Projectile BP through the “Add” option under Components, searching Scene and selecting the Scene under Utility.

BP_Projectile Scene6

The error when I drag Scene over Static Mesh, says (is inherited…)

BP_Projectile Scene5

I tried clicking on the Static Mesh and searching “inherited” under details. Found Editable when Inherited. But tried on and off and it doesn’t seem to make any difference as far as reassigning root.

My apologies for missing that detail. You cannot change the root component of an actor that is a child of another actor. In this case, BP_Projectile is a child of Static Mesh Actor, which comes with a Static Mesh Component already set as its root component.

You would need to reparent BP_Project to Actor, which would then allow you to change the root component. You may have to re-add the static mesh component as well as cause other difficulties with your code.

I could be miss-remembering here (paging @DanM, who’s the actual TA for this course) but I believe Sam has you switching to a regular ball as the mesh for the projectile in a later lecture.

1 Like

Thanks for the help. I got to the point of creating a new Cone shaped projectile. (The video does use a ball from the beginning.) I was able to label it actor and rotate it 90* in accordance with the scene. But yes once I added the static mesh component on top of that, things got a little weird. I never thought that using a cone and wanting it to point away from me would be THAT much harder than just using a ball. I’ll come back to this challenge after completing the course I think =/

You can go class settings and change the parent class to Actor

Then you can add a static mesh component, you may need to fix up a couple nodes that used the one from StaticMeshActor; after that you can do what was suggested.

Alternatively you could rotate the actor when you spawn it and then use the actor’s up vector when firing (as the up vector is the direction of the pointy bit)