Difference between level blueprint and blueprint

hi everyone ,
i am learning the BP from the website
https://api.unrealengine.com/INT/Engine/Blueprints/HowTo/BPHT_4/index.html

i try to make the same Event Graph on actor Blueprint ,but I find that my spawnActor appear in the different place.

please tell me how`s the different between the two EventGraph,and I really want to know why it appear in different place.

thank you!

the level bp is associated with the level its made in whereas a actor can be placed in any level and have multiple instances. both have different advantages and uses, and also their own complexities. the level bp for example can easily reference actors in the level, where a actor has a bit more trouble. a actor though can be referenced by other bps much easier than a level bp can. generally and this is a bit of opinion, the level bp should only be used for things specific to the level. so if you have say a door and its the only door in the game then put it in the level bp, but if you have many doors in the game then it would be easiest to use a actor so that you can create many copies and reuse the actor throughout the game. i guess its something youll understand more once you have more experience. experiment with how each work and youll learn the intricacies of each.

now as for why your spawn transform is different, id would guess that your variables arent set correctly but then again not alot of information given to work from.

1 Like

In different BPs origin points are different. The target points in your level are located exactly where you put them, whereas the target points in your other BP are located… well, I don’t know where, but somewhere within the BP’s local coordinates probably.


What you should consider is what exactly you want to align the spawned actors to. If you want them to be spawned in some places in the level regardless all other actors, you should use the level target points. If you want to spawn an actor relatively to another actor, you can try and use target points in that actor blueprint.

target points can only exist in the level and not in a bp actor. the way they are setting theirs is via a public variable where you can set the reference to the target points on a per instance basis once this actor is placed in the level. so pretty much place actor in level, select the actor and go to the details panel, set the variable as a target point actor ref in the default section.

Yes, if you mean Target points per se as a class. But you can create any empty component in bp, call it a target point and use the same. The OP has some target point variables in his bp that’s not a level bp, so that’s what I assumed in the first place.

i see,thank you.

i have make the ref for target point , but it is still appear in the different place.
do you know how to set the correctly in the actor BP without target point, and make it run as same as levelBP?

Basically anything can act as a target point in your BP; I sometimes use a Box Collision with all collision disabled for the positioning purposes. Of course you can do some math and calculate the needed position based on the BP origin, but it’s much more convenient to have a visual representation, as for me.

im assuming that your looking to target a static location in the level. if thats the case then the target points should work without issue as long as you have the variables set. you keep saying its in a different place but its not possible if the references are correct. basically it doesnt matter if your in the level bp or a actor if your using world space (as you are) then the locations remain constant. now you may be affecting your scale since your using set transform but again it would be constant since your using the same nodes.

set the correctly

set what? i assume a variable.

make it run as same as levelBP

how so? they can do similar things, but they also work in very different ways for other things.

your issue could also be in the way that your calling the event. since your basing it on a binding and calling things on begin play. basically the begin play is called at different times for certain actors which could cause the event that was in the level bp and called first to now be called later since its in a actor. the way it works if i remember right is that certain classes get their begin play called first but im not sure on the order so it could be GM, level bp, Actors. its just a thought and you could easily test it by key input event connected to the set transform node so that you could trigger the event manually and check the resulting location.