📧 octamodius@yahoo.com
Supported render pipelines:
-Standard;
-URP;
⚠️ Notice: RLD Development Status
RLD is currently on hold. No new features or updates will be added to this version.
A full remake is in development with support for Unity 6, URP RenderGraph, and modern workflows.
The new version will be released as an upgrade.
Some features in this version may not function as expected in Unity 6.
⚠ Note: ⚠
- Render Graph not supported!
- the scene gizmo is not available when using URP;
What is RLD?
RLD is a suite of well crafted level design tools that will enable you to build runtime level editors, modding tools, or any type of application/game that contains level design elements.
Note: This plugin serves as a kickstarter project and API for developers who want to build their own in-game level editors. It can not be used to build levels inside the Unity Editor. If you are looking for a level design plugin that works inside the Unity Editor, you can take a look at GSpawn - Level Designer.
🎥 Presentation (Dungeon, Nature & Spherical World)
Learn to build a dungeon environment:
Feature/UI tutorials:
🎥 Prefab Libs & Runtime Prefab Picker
🎥 Object Extrude Gizmo (Super Handy!)
🎥 Surface Snapping (Spherical Surfaces)
🎥 Surface Snapping (Per Layer Settings)
More videos can be found here.
Try the Demos:
🎮 Dungeon
🎮 Nature
Note: RLD does not contain a save/load API. You might want to use a pack such as Easy Save - The Complete Save & Load Asset to implement saving and loading of scenes.
The models shown in videos in images are not included with the pack. They belong to:
• Mountain Trees - Dynamic Nature
Key Features:
• Unity Style Camera;
• Object Selection;
• Object Selection Restrictions;
• Extrude Gizmo;
• Object-to-Object Snapping;
• Surface Snapping (snap & rotate/scale/offset with mouse);
• Selection Grid Snap;
• Selection Rotation (X/Y/Z) (Via Keyboard with configurable steps);
• Duplicate Selected;
• Duplicate Layer Mask;
• Runtime Prefab Picker;
• Move Gizmo;
• Rotation Gizmo;
• Scale Gizmo;
• Box Scale Gizmo;
• Universal Gizmo (move/rotate/scale);
• Snapping for Gizmos;
• Vertex Snapping (Move Gizmo & Universal Gizmo);
• Gizmo Transform Pivots;
• Gizmo Transform Spaces;
• Gizmo Transformable Layers;
• Scene Gizmo;
• Gizmo Look & Feel Customization;
• Scene Grid;
• Hotkey Customization;
• Scene Icons (Lights and Particle Systems);
• Undo/Redo;
• Object Groups;
• Object Selection Events (API);
• Gizmo Events (API);
• Gizmo Hover Info (API);
• Gizmo Drag Info (API);
• Multiple Viewport Support (API);
📧 octamodius@yahoo.com
Release 2.3.4
------------------------------------------------------------------
[New Feature] : Added RTObjectSelection.EndManipSession to cancel the currently active manipulation session.
[Improvement] : Added RTPREFAB_SERIALIZE_PREVIEW_TEXTURE switch in RTPrefab.cs. When active, prefab previews are serialzed in the scene file. When inactive, the previews are
generated at runtime.
[Improvement] : Fixed Unity 6 warnings.
[Bug Fix] : Fixed bug which was preventing objects from being duplicated while dragging gizmo handles.
[Bug Fix] : Fixed bug which was not updating gizmo correctly when RTObjectSelection.Get.SetSelectedObjects was called while a gizmo was being dragged.
Release 2.3.3
------------------------------------------------------------------
[Bug Fix] : Fixed bug PrefabLibDB UI bug which was causing the prefabs to not appear during a build and cause null ref exceptions inside the editor after the first build.
Release 2.3.2
------------------------------------------------------------------
[New Feature] : it is now possible to query the surface object for object-2-object snap session via RTObjectSelection.Get.Object2ObjectSnapSessionSurfaceObject;
[New Feature] : added RTObjectSelection.SetObjectToObjectSnapMoreControlEnabled;
[New Feature] : RTUndoRedo now has public Undo/Redo functions;
[New Feature] : added RTUndoRedo.NumActionGroups property;
[Bug Fix] : Fixed bug in TorusMesh.CreateTorus where the normals of the vertices weren't calculated correctly.
Release 2.3.1.6
------------------------------------------------------------------
[New Feature] : implemented RTObjectSelection.BeginObjectToObjectSnapSession;
[Bug Fix] : fixed null ref exceptions being thrown by the extrude gizmo after deleting selected objects;
[Bug Fix] : the SelectableLayers property of ObjectSelectionSettings is now used to avoid drawing selection highlights for non-selectable objects;
Release 2.3.1.5
------------------------------------------------------------------
[New Feature] : RTObjectSelection.WillBeDeleted handler now accepts a parameter which contains a list of all parent objects to be deleted.
Release 2.3.1.4
------------------------------------------------------------------
[New Feature] : added support for the new Input System;
Release 2.3.1.3
------------------------------------------------------------------
[Bug Fix] : fixed bug which was causing scale gizmos to change
the sibling index of the objects being scaled;
Release 2.3.1.2
------------------------------------------------------------------
[Bug Fix] : fixed null ref exception caused when trying to use the multi-select rectangle after deleting game object using Unity's interface.
Release 2.3.1.1
------------------------------------------------------------------
[Bug Fix] : fixed Universal Render Pipeline script accidentally attached to
camera in demo scene;
[Bug Fix] : fixed null camera ref exception when using URP render pipeline;
Release 2.3.1
------------------------------------------------------------------
[Improvement] : when spawning a prefab, the prefab is now projected onto the scene grid instead of being placed below it;
[Bug Fix] : fixed bug in SphereTree.RaycastAll which was causing disabled renderers or colliders to be hit by the ray;
[Bug Fix] : fixed compile error caused by using UnityEngine.Rendering.Universal;
[Removed] : removed unnecessary line of code from SphereTreeNode.StackPush;
Release 2.3
------------------------------------------------------------------
[New Feature] : implemented prefab name search field for searching prefabs in the active prefab library;
[Improvement] : Optimized the RTScene::Update_SystemCall function. The client code is now required to call RTScene.Get.OnGameObjectWillBeDestroyed whenever it destroys a game object and RTMeshDb.Get.OnMeshWillBeDestroyed if it ever destroys a mesh asset at runtime;
[Improvement] : optimized the GetAllChildrenAndSelf extension method for the GameObject class;
[Improvement] : eliminated recursion from SphereTree class;
[Improvement] : optimized certain functions to avoid allocating lists and instead accept entity lists as output buffers;
[Changes] : the 'ScaleConstraintEnabled' and 'MinPositiveScale' properties of the 'ObjectTransformGizmo' class now start with capital letters for consistency;
[Bug Fix] : eliminated stack overflow in SphereTree class;
Release 2.2.1
------------------------------------------------------------------
[New Feature] : added 'minPositiveScale' and 'scaleConstraintEnabled' properties to ObjectTransformGizmo;
[Bug Fix] : fixed object selection being changed after gizmo drag release;
[Bug Fix] : fixed extruded objects not retaining the original objects' layer;
Release 2.2
------------------------------------------------------------------
[New Feature] : added support for URP - there is a limitation: the
scene gizmo can not be used with URP.
Release 2.1.6.5
------------------------------------------------------------------
[New Feature] : added 'RemoveGizmo' function to the RTGizmosEngine class
to allow the client code to remove gizmos when they are no longer needed.
[Bug Fix] : fixed gizmo hover state not updated correctly when moving the mouse cursor from the gizmo over the UI;
Release 2.1.6.4
------------------------------------------------------------------
[Bug Fix] : fixed stack overflow exception in SphereTree class;
[Bug Fix] : fixed internal issues with 2D shape and sphere border rendering artifacts;
Release 2.1.6.3
------------------------------------------------------------------
[New Feature] : it is now possible to change the scene gizmo screen size;
[Improvement] : fixed warnings;
Release 2.1.6.2
------------------------------------------------------------------
[Bug Fix] : fixed bug which was preventing gizmos from being dragged for certain camera angles.
Release 2.1.6.1
------------------------------------------------------------------
[New Feature] : added visibility toggle for the universal gizmo mid scale cap;
[Bug Fix] : fixed bug in 'OnHoverableStateChanged' in the 'GizmoPlaneSidler3D' class;
[Bug Fix] : fixed mappings between gizmo handles and their ids;
Release 2.1.6
----------------------------------------------------
[New Feature] : it is now possible to show/hide individual extrude gizmo sliders;
[New Feature] : added 'SetAxesLinesHoverable' function to move and scale gizmos;
[New Feature] : added 'SetMvAxesLinesHoverable' to universal gizmo;
[New Feature] : added 'SetMidCapHoverable' to rotation gizmo;
[New Feature] : added 'SetRtMidCapHoverable' to universal gizmo;
[Bug Fix] : Fixed 'RTObjectSelectionGizmos::SetWorkGizmo' bug;
[Bug Fix] : Fixed SphereTreeNode stack overflow exception;
[Bug Fix] : Fixed scale gizmo scaling object incorrectly;
[Bug Fix] : Fixed scale snap step for scale gizmo freeze in Inspector;
[Bug Fix] : Fixed incorrect reporting of relative drag scale and total drag scale for scale gizmos;
Release 2.1.5.1
----------------------------------------------------
[New Feature]: added 'SetIgnoredParentObjects' function to the 'ObjectExtrudeGizmo' class;
Release 2.1.5
----------------------------------------------------
[New Feature]: added RTScene.Get.SetRootObjectIgnored function to instruct the scene to exclude certain root objects from consideration;
[New Feature]: added button to sort prefab libraries alphabetically;
[Restored] : restored CanRenderCameraIcon event in the RTScene class;
Release 2.1.4
----------------------------------------------------
[New Feature]: the 'RTSCene.Get.AddIconRenderIgnoreCamera' function can now be used to specify cameras that should not render scene icons;
[New Feature]: added min size property for the multi-select shape. This is useful when you need to specify a minimum size at which the shape is able to overlap objects. This value can be increased when small mouse movements cause objects to be selected accidentally;
[New Feature]: added RTObjectSelection.Get.ForceDelete() function. This is useful when the selection needs to be deleted from code in response to a certain event;
[Improvement]: improved performance for the RTScene.Render_SystemCall a little bit by avoiding a call to CanRenderCameraIcon;
[Improvement]: click select is now performed on mouse button up which is consistent with how Unity does things in the editor and also provides much more control over how objects get selected with the multi-select rectangle;
[Bug Fix] : fixed bug which was preventing objects from being selected via click select when multi-select is turned off;