Hello!
I’m trying to create a virtual table for DnD players.
Due to lack of knowledge about the capabilities of Unreal Engine, I have problems choosing the implementation method.
First:
I would like to give a player ability to create a level (world), place there grid and make “travel” points so players can move and view different levels independently.
I have tried “seamless travel” and it works fine for me, but I don’t see an option to create level in runtime (at least copy existing)
Second:
If there is a way to create a level in runtime, then how to save such “dinamyc” worlds between sessions?
Since “out-of-box” level is an empty world with a few actors and ability to place entities for a player.
Third:
I found out about .pak and module system in the UE
Is it possible to create a project with an C++ Actor class inherited from a class from a main game (game project, not UE itself) and then deliver it separately, so player can load it and use (also download a .pak from server)?
Please share links or key-words so I can google it:)
Regards!
Now I have only one level (the entity of type “level” in the content browser) in my project. It’s empty level where I will add fetaure to fill the space with actors by player.
And I can use APlayerController::ClientTravel only to that level.
For example, I would like to add a button for a player. He presses it and in memory appears another level (maybe copy of existing) and it’s able to use APlayerController::ClientTravel on that.
I would like to know if it’s possible in the UE or I have to implement it by myself, or I’m going wrong way and I should use something from “level streaming” etc.
UPD: I found this topic, so its possible to create Multiple Worlds. But how properly init them and use seamless travel on them?
client travel is for network stuff.
also client travel will disconnect you from the server.
“travel” implies space. but that’s not what it does.
so if you need to change the player position. “clienttravel” is the wrong function. use setactortransform instead or setactorlocation or tehir relative counterparts.
travel is to change maps on a networked environment.
you got confused with the uworld. forget about it.
just create a level, like any other regular level.
then use you use the level regularly, by calling “openlevel” i think i forgot, is easy to find. or by using it as a sublevel or level stream
seamless travel is for network again, i don’t know if you want to use seamless travel.
there’s a ton of info about seamless travel, you can find it here unreal seamless travel at DuckDuckGo
Seems like we have some misunderstanding:)
I do need seamless travel between scenes (or something like that). I can “simulate” multiple tables in one UE level, but I’m not sure what restrictions with global lightning there will be.
I want to create multiplte small levels and allow to “jump” between them during a game session. I tested Seamless travel feature with two levels and it works fine. One player stays on the first map and the second player on the second at the same time. My problem is - APlayerController::ClientTravel accepts only asset name as argument and there is no option to travel to a runtime created level\world.
yeah i might have not gotten what you need to do.
tbh it does sounds confusing to me. so i think you might be trying something that could be done in a more reasonable way.
why would you need to create a world in runtime i don’t understand.
i think you could solve it by refactoring into something that makes more sense.
if the clientravel requires an asset, then you’re not going to be able to change that.
try traveling to an empty map and then load whatever you need to be dynamic.