How would you build a tilemap-based level in UE4? I googled (UDK and UE4) but couldn’t even find a place to start. In Unity there are multiple tilemap editor plug-ins to “paint” the level, or I could just create it with an external tool like Tiled and write an import script for the editor that automatically creates/updates the according GameObjects when I switch back to the Unity editor window.
What’s the best way to do this in UE4? Manually placing and rotating level blocks (tiles) would be too time-consuming. If importing tilesets from Tiled, I’d still need to directly see them in the editor (and not only at runtime) for manually placing additional objects on top of the tiles.
You’re talking about splitting terrain/landscape into blocks right?
Manually placing and rotating them is the way to go.
UE allows you to load/stream levels, which also works within the editor.
There you can fine-tune and match all tiles.
You could also use blueprints to spawn and place each block. You can easily add a function to offset each section so the match up perfectly. It will take a little time to setup but you won’t have to do it by hand. Look at the Content Examples, each map is setup this way.
To be specific, the level structure should look something like this: - YouTube
I built it using Rotorz Tile System (Unity Asset Store - The Best Assets for Game Making) which allows painting tilesets directly in the Unity Editor. I know there is no similar plug-in for UE4, that’s why I had the idea of painting the level in Tiled Map Editor (http://www.mapeditor.org/) and then importing it in the UE4 editor. But I’d need to extend the editor somehow to load (and update) it in the editor for further editing (and not just reading the level file when I start the game). Any tips where I would start with this or is there a better/easier/faster way of doing tilemap-based levels? Dragging 100x100 cubes into the level can’t be the standard solution for this.
I already made a blueprint that spawns blocks with random colors, and I just did the same thing in C++. Its not too difficult, you could code your own solution.
You could spawn the blocks and use flood fill to set the correct material.color.
Yeah, but that’s at runtime, right? As I understand, “Plugins” are the way to go for me.(docs.unrealengine.com/latest/INT/Programming/Plugins/index) Just have to find a way to automatically create actors from a file in the editor… is this page the only documentation available on Plugins?
How many drawcalls does this example? In Unity when you create a tile-like map spawning single object, the engine just die because you have one drawcall for each tile plus the overhead of too many gameobjects. To solve this problem you have to “merge” all the tiles in a single big mesh/object, and this was (is?) a tedious thing to do in Unity.
Yeah, would be interesting to know. I’m really not sure how to efficiently build levels like in my video posted above besides with tilesets. I could individually scale and snap cubes for the floor (e.g. one per room), but placing, scaling and rotating the walls manually just sounds like overkill. Same with the yellow “orbs” - with a tileset, I simply “paint” them on the floor, but in the UE4 editor I’d need to place each of those orbs individually. There must be a simpler way?