Download

UE4 modular rooms

I’m working on a game with a randomly generated level, basically consisting of a large quantity of randomly selected rooms.

Now the way I set up those rooms is simply by using blueprint subclasses of a common room class. So whenever I design a room, I create a new room blueprint and add all of the furniture etc. as components. Unfortunately the editor really isn’t built for this: copy/pasting components is a hassle and is really slow, the performance while editing the components is generally awful and dragging/dropping new assets inside the room is really inconvenient and slow. All in all, working on new rooms is a really annoying problem.

Is there a more convenient way to do this? Also, what’s the performance implications of having room actors with hundreds of components (it’s not a problem yet, but I’m unsure components are made for this sort of thing)?

@Morphcider I know exactly what you mean. Making a BP from actors, no problems, but once you have them in the BP, good luck with that. A few tweaks no problem, but it’s not made for major updates.

Streaming is out because you want random.

Doing it with just piles of actors is also inconvenient.

What I’d recommend would something in between, middle way as the Buddha says :slight_smile:

Your basic room could be a single mesh, and then you have attachment points where you can put modular BPs, like bookcase, chair, door…etc

That way, you can spawn the room and quickly populate it, but don’t get stuck making single custom BPs.

I’m afraid that’s not really an option in my case, I need a wide variation of room shapes and sizes, so that approach wouldn’t save all that much work

@Morphcider Mehh, sounds like you’re stuck with the BP editor then ( be interested in hearing any other ideas here ).

I recall one thing I did, when I was working on the maze level was has a separate level where I kept all the options just before I converted them to BP. That way I could easily go back and make fixes / new areas etc…

I really hope somebody has a good idea for this, working like this is so damn slow: even moving like 5 objects at the same time slows down the editor to a crawl, and let’s not even talk about copy/paste, it just doesn’t do what it should.