Rookie Awards 2024 - Open for Entries!
Dynamic Room Generator Plugin for Unreal
Share  

Dynamic Room Generator Plugin for Unreal

by james65535 on 1 Jun 2023 for Rookie Awards 2023

This Plugin allows Developers to quickly add and modify Rooms on the fly without any CPP or Blueprint programming. With a click of a button or movement of the Gizmo widget, rooms can dynamically resize meshes, make doorways, and place furniture instantly. Plugin has been developed in C++ but can be extended with BPs.

3 419 0
Round of applause for our sponsors
Dynamic Room Generator for Unreal.  A plugin which includes actors, components, data asset blueprints, and an Editor Utility Widget which can be used to rapidly build out a map full of rooms instantly.  


Development began a month ago in preparation for a personal game project which will rely heavily on the creation of a large number of rooms.  The plugin has been architected and developed so that it is easily portable and extensible right out of the box.  A Developer only needs to install the plugin and they are ready to go, no need for any Blueprint or C++ development.  However, for Developers who wish to extend the capabilities, interfaces are available to quickly extend the capability either within Blueprints or C++ if they desire.


Feature Capability Bullet List Shootout!

* Rapid Creation of Rooms with auto-sizing walls, meshes, and materials

* Simple Editor Utility for rapid  placement or dynamically adjust each room directly

* Packaged as a plugin with everything needed to run out of the box

* Toggable Doorways with dynamic dimensions

* Ability to have Room Themes and Furniture presets

* Easy to extend as Objects and code have been developed to make use of Interfaces and does not hard code any specific classes.

Above is the 'Room Generator' Editor Utility Widget used to rapidly generate configurations of rooms.  

* Select a Room Template ( The Default template or any Actor which satisfies the Dynamic Room Interface or Inherits from Dynamic Room )

*choose a 'Room Theme' to decorate the walls and a 'Room Type' to add furniture. 

*Click 'Add Room' and the Generator will place the room in the level and update the Editor selection to the new room so that Developers can quickly add rooms without having to move the mouse around the editor.

- 'Room Themes' are Data Assets which use the Plugin's 'RoomTheme' Data Asset Blueprint to make it easy to quickly put a room together.  This includes the material for Walls and floors, Meshes to decorate the walls, and customizable offsets to tweak placements, rotation, and scale.  Additionally a UV scale can be specified to adjust the scale of the room Materials.  If a Developer choose to add doorways to the room, the wall meshes are dynamically adjusted so they do not block the doorway, regardless of how the room or doorways are sized., they will be pixel perfect.


- 'Room Furniture' Data Assets use the 'RoomFurniture' Data Asset Blueprint also included in the plugin to define what sort of furniture should be placed in the room and their corresponding transforms ( Rotation, Location , Scale).  The room generator will automatically adjust the location of furniture regardless of how large or small the room is sized.

After these assets are created, simply place them into the corresponding Collections and the Generator will automatically pick them up and make them available in the dropdown boxes.


Comments (0)

This project doesn't have any comments yet.