Download

Level building from a file using a script instead of by hand

Is there a way to script the build of a level based on a text file that outlines what the level should look like and where all the power ups and exits should be?

You could do that with Blueprints

Alternately, if you’re looking at just building a map, all of the content in the level can be copied to a text format (since it references assets).

I don’t understand. Are you saying that I can update the unreal “level files” in notepad? That would work really well, if that is possible.

Actually, yeah, in the editor select something and copy (ctrl+c) and then paste to notepad, it’ll have all the info about it.

Doesn’t have anything to do with an actual game, but since it saves that information that way I’ve used it to make a script in 3ds Max that could place objects in UE4.

I just tried opening the umap file to add objects to, it doesn’t show as a text file in notepad. Am I missing something?

I am also interested in this topic.
I would like to create a map based ( core map elements ) on external data and then possibly only tweak it and add other stuff in the editor.
For example:
[external map data file]
model1 pos: -10, -3.2, 15 scale: 1 1 1 rot: 0 0 0
model2 pos: 3, -2.8, 11 scale rot 1 1 1 0 0 0

I understand that I can do it with my own converter (which would use the UE4 API ), which converts the data into a format compatible with the UE4 and then I can continue to edit the rest in the editor?
Or is there another way?

If you select a mesh in the editor, and copy it it comes out something like this:


Begin Map
   Begin Level
      Begin Actor Class=StaticMeshActor Name=787_chairs_economy_10 Archetype=StaticMeshActor'/Script/Engine.Default__StaticMeshActor'
         Begin Object Class=StaticMeshComponent Name="StaticMeshComponent0" Archetype=StaticMeshComponent'/Script/Engine.Default__StaticMeshActor:StaticMeshComponent0'
         End Object
         Begin Object Name="StaticMeshComponent0"
            StaticMesh=StaticMesh'/Game/Meshes/B787/Chairs/787_chairs_economy.787_chairs_economy'
            StaticMeshDerivedDataKey="STATICMESH_34081786561B425A9523C94540EA599D_359a029847e84730ba516769d0f19427_08B81D3F4753513B93E720832A7E9708000000000100000001000000000000000000803F0000803F00000000000000000000344203030300000000"
            bHasCachedStaticLighting=True
            VisibilityId=100
            BodyInstance=(Scale3D=(X=2.540000,Y=2.540000,Z=2.540000),bAutoWeld=False)
            RelativeLocation=(X=0.000200,Y=-415.462006,Z=540.482971)
            RelativeScale3D=(X=2.540000,Y=2.540000,Z=2.540000)
            CustomProperties 
         End Object
         StaticMeshComponent=StaticMeshComponent0
         RootComponent=StaticMeshComponent0
         Layers(0)="Chairs"
         ActorLabel="787_chairs_economy_10"
         FolderPath="Chairs"
      End Actor
   End Level
Begin Surface
End Surface
End Map


Some things will be there by default, some things only show up if you change the property

What I don’t understand is, where do I paste this text to make it a part of the map?

Like, what file do I open up and paste all of this text into, to make it appear in the level? Or how do I have a blueprint read my text file and then place objects in the map.

Even if there is an UE API, what piece of the API could help me generate a level file that I can then save and tweak in the Unreal Editor later. This is so I can quickly generate levels but continue to work on them in the editor afterwards. This will save me a lot of time by letting me focus on just the pieces of the level that I want to touch up and modify instead of handcrafting the whole thing.I hope I am making sense.

Thanks

What extension would a text file with the above instructions have? Would I be able to import it into the editor?

You just click in the the viewport and make sure it’s active, and then paste CTRL+V

Blueprints would have their own way of making files and don’t need a text format like this

I believe though that .t3d is an importable format as well

I am trying to do something similar i.e. create a level from scratch by a program and not using hands (the UE4 editor) at all. Is there any document explaining how a UE4 level looks in text format? Or just being able to open a UE4 map straight in ASCII format would be sweet!