I work on it all day. I didn’t understand it until now.
Okay, I suspect that it makes no difference whether I work with a blueprint_actor(portal_x) or with the trigger_volume in the level_blueprint. Is this correct?
I suspect that it makes no difference whether I work with a blueprint_actor(portal_x) or with the trigger_volume
No difference.
Options are passed as: key1=value1?key=value2?key3=value3 and so on.
In your case, since you just need to pass a hard coded vector you can just do it like:
So screenshoot A or B, you don’t need the Append node, Just write the the options directly in the node.
In Screenshoot C, since the first thing you want to do is to move your character to the right location, connect the BeginPlay to Set Actor Location.
The select node that I used is required since I didn’t pass any options for the first level (when you start the game) and I didn’t placed any Player Start. Without the select node, the player starts at (0,0,0).
In you case, for example, you can place a Player Start node where you want the player to start the game and then:
So, now the player starts the game (level 1) at the location you want, and for the rest of the levels, the player will start where the options in Open Level tells the game mode to.
PS: If you pass the value thought the options, then you don’t need to use Game instance for this.
PS: this method works, but like I said before, a more correct approach is where you spawn directly where you want. But that’s not required for now. The important is to have something working.
(first: I mixed up your second pictures regarding screenshot C with the cable)
I’m almost giving up. Although I understood some information and it is very helpful. But nothing works here. At first it worked (with the hard coded vector): Destination_Level worked with the correct location.
Then I copied the TriggerVolume like in this screenshot:
on the 1º level should print: X=0.000 Y=0.000 Z=0.000 (or the coordinates of the Start Player if you placed one) NO VALID OPTIONS
on the 2º level should print (diferent numbers for you): ?location=X=1149.388 Y=2050.013 Z=350.049 X=1149.388 Y=2050.013 Z=350.049
If still fails, then we move from the options to the game instance. If that fails, then we move to override the “Chose Player Start” from the game mode. Some method should work.
The Player is starting at PlayerStart but it says X=0.000 Y=0.000 Z=0.000
When I place the PlayerStart on another place then it also says X=0.000 Y=0.000 Z=0.000
When I start without PlayerStart then the Player starts at the place in the viewport.
Is the code for this part in your game mode exactly like the one I show you?
If it’s and is not working then something must be off at some place else.
Anyway, let’s move to the game instance method and forget the options method, that like @Dejan33 said, it’s the simplest.
create a game instance with a vector variable (you already did it that, right?) and set its initial value the coordinates of the character in the first level.
Now I’ve made several attempts for some time and at the moment the first solution suddenly works. I don’t know what it was. I think I changed the key “start” to “location” in “ParseOption”. But it’s not 100% sure yet.
But it’s not working, it has no effect. Doesn’t matter what value I type in. Also tried all possible places I can type in something into the rotation.
Yes, that’s true. At the moment I must type the Coordinates into the GameInstance to start a specific level, because PlayFromHere isn’t working. But it’s managable.
First image: the rotation you set is the one you want to character to have when the next level starts.
Second image: remove the set actor rotation node. That should go to the game mode, where you use Set Actor Location. You just need to add the Set Actor Rotation after that one.
In any case, I will show you how to use the “Choose player start” method. Just give me a sec.
set the all the Player Start you need in each level. Set their location and respective rotation. Also set their “Start Player Tag” for individual identification:
If a respective Player Start actor is not found, then the game mode will randomly select one. If there is no Player Start actors in the level, then the player will start at the origin.
If you’re using the override method, then game instance shouldn’t even have a location variable.
And what do you mean, “nothing happened”?
Also, are you sure you use the Player Start Tag and not the Actor Tag?
With “nothing happened” I mean that Player is not atsarting at the PlayerStart with the Tag. Player starts at the location-variable-coordinates. But the tag-system is not working at the moment.