Search Unity

  1. Unity 2020.2 has been released.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

Runtime Level Design

Discussion in 'Assets and Asset Store' started by XGT08, Jan 17, 2016.

  1. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    Hello,

    RLD does not support SRP in any shape or form. It uses the OnRenderObject function which to my understanding does not get called in SRP. There are no plans to support it in the near future.

    Are you sure you need SRP?
     
  2. imagoculturae

    imagoculturae

    Joined:
    Apr 8, 2014
    Posts:
    81
    That's a shame...I really need srp because we are working with hd quality for architecture. I hope you will consider this in the near future because it would be an amazing tool for houses decoration. I know this is probably not really exciting in the game world but the possibility of using RLD in HDRP will be amazing. Also more realistic games that uses HDRP I believe will be available soon.
    Is there a workaround? Maybe I can bake all the lights and use it with the basic renderer...
    Thanks for now...

    p.s sorry for my ignorance, but I don't really understand why the tool is connected with the rendering type.
     
    Last edited: Nov 9, 2019
  3. juliocdep

    juliocdep

    Joined:
    Sep 30, 2010
    Posts:
    30
    Hello,

    How I can clear all the selections when set the PreSelectCustomize/PreDeselectCustomize events?
     
  4. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    Hello,

    I am not sure I understand the question correctly, so correct me if I am wrong. You would like to use the PreselectCustomize event to decide if the objects that are about to be selected should be ignored (i.e. not selected).

    The PreselectCustomize event receives a ObjectPreSelectCustomizeInfo parameter. If you want to stop the objects from being selected, you can do this:
    Code (CSharp):
    1. void OnPreSelectCustomize(ObjectPreSelectCustomizeInfo customizeInfo, List<GameObject> toBeSelected)
    2. {
    3.      if (conditionToAvoidSelection)
    4.      {
    5.             customizeInfo.IgnoreThese(customizeInfo.ToBeSelected);
    6.      }
    7. }
     
  5. juliocdep

    juliocdep

    Joined:
    Sep 30, 2010
    Posts:
    30
    Thanks for the response, I want to use the "ClearSelection(bool allowUndoRedo)" method to deselect what are selected. But, also I using the PreSelectCustomize/PreDeselectCustomize events to customize my selections. In this situation the ClearSelection doesn't work as said in the api document, so, is there another way to deselect what is selected?
     
  6. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    ClearSelection should not be used from the Customize handlers. You should use that outside when you want to clear the selection. Can you describe in a bit more detail what you are trying to accomplish?
     
  7. juliocdep

    juliocdep

    Joined:
    Sep 30, 2010
    Posts:
    30
    I am not using within Customize handlers. What I want to do is for example when pressing the ESC key deselect everything that is selected. A code like this:

    Code (CSharp):
    1.  
    2. void Update()
    3. {
    4.     if (Input.GetKeyDown(KeyCode.Escape))
    5.         RTObjectSelection.Get.ClearSelection(false);
    6. }
    7.  
    This would work fine if I wasn't using the customize handlers, but I need to use those handlers, if so, how could I clear the selection since I can't use the ClearSelection?
     
  8. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    I don't understand why this isn't working. When you call ClearSelection the selection will be cleared. Can you show me your customize handlers please?
     
  9. juliocdep

    juliocdep

    Joined:
    Sep 30, 2010
    Posts:
    30
    What I'm doing here is looking for a particular component and include in the selection the component gameobject and all children that have MeshRenderer. The problem is when using these customizes I can't use the ClearSelection more, this is mentioned in the api document, I understood that, what I want to know is if there is a workaround to clear the selection.

    Code (CSharp):
    1.     private void PreSelectCustomizeHandler(ObjectPreSelectCustomizeInfo customizeInfo, List<GameObject> toBeSelected)
    2.     {
    3.         (HashSet<GameObject> selectThese, HashSet<GameObject> ignoreThese) = GetLevelObjectViewSelections(toBeSelected);
    4.  
    5.         customizeInfo.SelectThese(selectThese);
    6.         customizeInfo.IgnoreThese(ignoreThese);
    7.     }
    8.  
    9.     private void PreDeselectCustomizeHandler(ObjectPreDeselectCustomizeInfo customizeInfo, List<GameObject> toBeDeselected)
    10.     {
    11.         (HashSet<GameObject> deselectThese, HashSet<GameObject> ignoreThese) = GetLevelObjectViewSelections(toBeDeselected);
    12.  
    13.         customizeInfo.DeselectThese(deselectThese);
    14.         customizeInfo.IgnoreThese(ignoreThese);
    15.     }
    16.  
    17.     private (HashSet<GameObject>, HashSet<GameObject>) GetLevelObjectViewSelections(List<GameObject> toBeAnalyzed)
    18.     {
    19.         HashSet<GameObject> selectThese = new HashSet<GameObject>();
    20.         HashSet<GameObject> ignoreThese = new HashSet<GameObject>();
    21.  
    22.         for (int i = 0; i < toBeAnalyzed.Count; i++)
    23.         {
    24.             LevelObjectView levelObjectView = toBeAnalyzed[i].GetComponentInParent<LevelObjectView>();
    25.  
    26.             if (levelObjectView != null)
    27.             {
    28.                 selectThese.Add(levelObjectView.gameObject);
    29.  
    30.                 MeshRenderer[] levelObjectViewMeshes = levelObjectView.GetAllMeshRenderer();
    31.  
    32.                 for (int j = 0; j < levelObjectViewMeshes.Length; j++)
    33.                 {
    34.                     selectThese.Add(levelObjectViewMeshes[j].gameObject);
    35.                 }
    36.             }
    37.             else
    38.             {
    39.                 ignoreThese.Add(toBeAnalyzed[i]);
    40.             }
    41.         }
    42.  
    43.         return (selectThese, ignoreThese);
    44.     }
     
  10. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    There is no way to clear the selection from inside a handler. The handlers are only used to customize the way in which objects are selected, as you have done in your example. So you can only modify what is about to be selected, but not what is already selected.
     
  11. AnthonyPaulO

    AnthonyPaulO

    Joined:
    Nov 5, 2010
    Posts:
    109
    Hello! I just purchased the runtime level design package since it includes the Runtime Transform Gizmos which is my primary motivation for buying, and I see that the RLD package does not include the "Scripting Tutorials"; is this downloadable offsite by any chance? There's a lot of functionality packed in here and I'm having trouble understanding some basic things such as how to disable all functionality unless I need it enabled, and I find that clicking on things in my world makes gizmos appear, and if I use my mousewheel to select different blocks it also seems to move the camera view, and other strange things are happening that I need completely disabled as I want the behavior that I want totally under my control when I want it, via api calls. I think these tutorials might be able to help me out. Thanks.
     
    Last edited: Nov 24, 2019
  12. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    Hello,

    RLD is meant to act as a kickstarter project for level-editor style applications or any kind of app that requires object manipulation in-game. Thus it contains a lot of functionality specific to this style of applications and there are lots of things that have been done for you such as an object selection system with gizmos, surface snapping, object to object snapping etc.

    I am not sure I completely understand what difficulty you are experiencing. Is it possible to list the things that you would like to be able to do?
     
  13. AnthonyPaulO

    AnthonyPaulO

    Joined:
    Nov 5, 2010
    Posts:
    109
    Thanks for replying. In my world I have functionality that occurs when I left click, press ctrl click, mousewheel, etc... What I want to do is allow the user to place bezier curve points on the mesh surface of my world in order to lay out railroad tracks. I set up some simple code according to the docs gizmo section:

    Code (CSharp):
    1. var gizmo = RTGizmosEngine.Get.CreateGizmo();
    2. var moveGizmoBhv = gizmo.AddBehaviour<MoveGizmo>();
    3. var rotateGizmo = gizmo.AddBehaviour<RotationGizmo>();
    4.  
    Problem is I have no idea how to attach this to a specific object as the documentation in gizmos doesn't say what to do after you create it, or at least I could not find in. I then watched the Runtime Transforms video and saw some example code that I used to make this work. The docs seem more like a reference point for specific functionality rather than a macro guide that explains the whole and how they all fit together. Or it could be I'm blind, so if this is already there I could appreciate you pointing me to it.

    However, when I run it my mousewheel functionality gets hijacked by some camera zoom functionality, my ctrl click makes duplicate copies somehow and other weird behavior, multiple meshes are being selected at times and I realize that the runtime has some functionality enabled by default. I'd just like to know how it all fits together, how to completely control my environment so that I can disable everything and only enable behaviors I want for a specific purpose and disable it when not needed. Thanks!
     
  14. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    I believe you are confusing RLD with Runtime Transform Gizmos. You should not need to create gizmos in RLD as it has already been done for you and they are ready to manipulate objects. RLD does allow you some level of control and in fact you can actually add more gizmos even to RLD, but from what I gather in your case, Runtime Transform Gizmos is what you need. That pack just contains the gizmos API and you are free to build your app around that API as you wish.

    The docs are indeed more of a reference. I highly recommend the video tutorials that you can find here. These cover I believe all aspects of working with gizmos as well as how to attach them to game objects. For example, this video, covers how to create gizmos and assign them to objects.

    Please send me an e-mail if you wish to talk more about this at octamodius@yahoo.com.
     
  15. Flow-Fire-Games

    Flow-Fire-Games

    Joined:
    Jun 11, 2015
    Posts:
    250
    Hi, we also would like to use your tool in HD RP.

    I briefly looked into the code and debugged a little, OnRenderObject is firing debug.logs in HDRP.

    I see gizmo draws in Scene view but not in the Game view.
    If I see it correctly you use a second camera to draw the gizmos?
    HD RP and afaik LW does not officially support multiple camera setups. Sometimes it works, sometimes it is very buggy, mostly it doesn't work. This is likely the biggest issue here.

    Any ideas how to convert your codebase into a single camera format?

    Best,
     
  16. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    Hello,

    I have no experience with SRP, and currently there are no plans to support it. There is a line at the top of the package description which states that SRP is not supported.

    The second camera is necessary for the scene gizmo. All other gizmos are rendered using the main camera (i.e. the camera that you chose for the RTFocusCamera object).

    Cheers,
    Andrew
     
  17. Flow-Fire-Games

    Flow-Fire-Games

    Joined:
    Jun 11, 2015
    Posts:
    250
    I hope you change your mind in the future. Unity has announced that they will deprecate the built-in pipeline so your asset won't work with the latest versions at all.

    Best,
     
  18. francoiscoiscois

    francoiscoiscois

    Joined:
    Oct 23, 2019
    Posts:
    38
    Really interested to buy this asset while it is on sale. But I am not clear how to implement the save and load asset to be able to save levels. Do you have a doc or some info how to make both assets work together ? I am looking for this info to make a choice before friday. I am not a programmer btw.
    Thank you !
     
  19. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    I'm afraid I can't give any tips regarding the save/load functionality as it is something that can be difficult to get right. I left a link to an asset which I know can handle this sort of things. Its documentation should help you understand how to sue it.

    :) Well, I am sorry but this is a scripting plugin which means you have to know how to write code in C#. I wouldn't recommend this plugin if you are not a programmer.
     
  20. francoiscoiscois

    francoiscoiscois

    Joined:
    Oct 23, 2019
    Posts:
    38
    Thank you for your repplie !
     
  21. astratakis

    astratakis

    Joined:
    Mar 18, 2019
    Posts:
    10
    Hello again,

    Is it possible to register a tranfsorm change with finger drag and not a gizmo handle let's say, into the undo/redo system?
     
  22. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    I think you could do it. It would go like this:

    1. At the begining of the drag session:
    Code (CSharp):
    1. _preTransformSnapshots = LocalTransformSnapshot.GetSnapshotCollection(gameObjects);
    2. At the end of the drag session:
    Code (CSharp):
    1. var postObjectTransformChangedAction = new PostObjectTransformsChangedAction(_preTransformSnapshots, LocalTransformSnapshot.GetSnapshotCollection(gameObjects));
    2. postObjectTransformChangedAction.Execute();
    where _preTransformedSnapshots is a list of LocalTransformSnapshot instances. You can find an example of this in the ObjectTransformGizmo.cs file.
     
    astratakis likes this.
  23. astratakis

    astratakis

    Joined:
    Mar 18, 2019
    Posts:
    10
    Thank you for your reply. That does the trick!! though it needs some fiddling around with it because it registers two actions. The first is the transform and the second is the selection again of the object upon finger lifted. Thank again though!
     
  24. NathanielAH

    NathanielAH

    Joined:
    Jul 22, 2013
    Posts:
    54
    As a potential customer, not planning to shift to SRP is keeping me from purchasing. Just a heads up that it may be impacting potential sales, beyond existing customers.

    Otherwise, looks like an amazing asset.

    Best of luck!

    Sincerely,
    Nathaniel
     
    Gorilla_Joes likes this.
  25. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    Hello,

    Thank you for the heads up.

    Cool apps and games have been developed without SRP. From my point of view, SRP is completely unnecessary. The latest fuss in the Unity community. Just as VR, AR etc. I don't believe it is necessary and I do not plan to waste any time implementing it.

    It is amazing how many things are needed these days to make a video game. In the old days, people had to write their own rasterizers by hand and manually optimize the heck out of everything in order to build a game. Then APIs such as OpenGL and DirectX came about and they were cool for a while, but it still wasn't enough. Then we had engines such as Unity, Unreal etc which would isolate you from LOTS of messy details, but it still isn't enough. Then there was the Asset Store adding many features to the engine and yet it is still not enough. Now we need SRP. And after that, goodness knows what else.

    So, no thanks. Let me worry about my sales. Meanwhile, I will just keep on watching the never-ending "We want more. We want better." show. I am curious to see what's next after SRP. Maybe I will add support for that. Who knows.
     
  26. brett_unity19

    brett_unity19

    Joined:
    May 1, 2018
    Posts:
    5
    Hi -

    Love the asset. I'm getting a stack overflow on a large model. What does the SphereTreeNode do and how can I figure out how to not have it puke on me?

    StackOverflowException: The requested operation caused a stack overflow.
    RLD.SphereTreeNode`1[T].get_NumChildren () <0x1c369ab3140 + 0x00008> in <600f4be398314ff8b7b5cf18d6aae6dc>:0
    RLD.SphereTreeNode`1[T].EncapsulateChildrenBottomUp () (at Assets/Runtime Level Design/Scripts/Runtime Package Common/BVH/SphereTreeNode.cs:139)
     
  27. brett_unity19

    brett_unity19

    Joined:
    May 1, 2018
    Posts:
    5
    Hi -

    I want to restrict movements for a Move Gizmo. I believe the proper way to do this is a custom ObjectRestriction on the ObjectTransformGizmo. Are there any examples of a custom ObjectRestriction?

    Thanks - really love the work,
    Brett.
     
  28. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    Hello Brett,

    You can find information about the restrictions API here: https://rld.readthedocs.io/en/latest/ObjectTransformRestrictions/

    Cheers,
    Andrew
     
  29. erpatton

    erpatton

    Joined:
    Oct 6, 2014
    Posts:
    55
    I'm using Unity's 2D Tilemap to keep track of pathfinding for a 3D top-down game. Would the runtime level design asset allow me to place down grid tiles in a tilemap?

    If not, is there any way to limit placing certain prefabs on a strict grid while allowing other prefabs to be places wherever?

    For instance, the walkable ground needs to snap in increments of 0.5 starting at 0,0,0. So even if I couldn't hook this up to place tiles in the tilemap itself, I could at least extrapolate what cells they would be in from the world position of them. But decorative objects like trees and such should be able to be placed anywhere.
     
  30. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    From what I understand that you need, yes it should be possible. RLD supports different ways of placing obejcts. One of them is called grid snap which will allow you to snap objects to the grid (grid size can be changed. In your case, you will have to set it to 0.5 on both axes). For placing trees, props, etc, you can use another placement tool called object selection grab which will place objects on meshes, terrains or even the grid itself.

    Note: These tools will have to be activated manually via hotkeys. So once you click on a prefab in the prefab selection window, the prefab will be placed in the scene. From there, you will have to select it and use the hotkey associated with the placement tool that you want to use.
     
  31. erpatton

    erpatton

    Joined:
    Oct 6, 2014
    Posts:
    55
    Awesome, thanks!
     
  32. ben_unity520

    ben_unity520

    Joined:
    Jan 17, 2018
    Posts:
    1
    Does anyone here know of any workarounds for using the RLD plugin with URP (Universal Render Pipeline)?

    I realize that the plugin relies on the OnRenderObject function per XGT08's note.
     
  33. kristianstoyl

    kristianstoyl

    Joined:
    Aug 10, 2018
    Posts:
    3
    I haven't tried the URP, but in HDRP, what I have found that can work is to add in RLDApp script:
    Code (CSharp):
    1.  
    2. private void OnEnable()
    3. {
    4.     UnityEngine.Rendering.RenderPipelineManager.endFrameRendering += FrameRendered;
    5. }
    6.  
    7. private void OnDisable()
    8. {
    9.     UnityEngine.Rendering.RenderPipelineManager.endFrameRendering -= FrameRendered;
    10. }
    11.  
    12. private void FrameRendered(UnityEngine.Rendering.ScriptableRenderContext ctx, Camera[] cameras)
    13. {
    14.     foreach (var cam in cameras)
    15.     {
    16.         Camera.SetupCurrent(cam);
    17.         OnRenderObject();
    18.     }
    19. }
    20.  
    Doing this allowed me to use gizmo handles in play mode in HDRP. I do not know if this breaks any other parts of the asset, so it's best to try it out yourself and see if it works for your use-cases.

    One issue I have noticed is the "Scene Grid" is being drawn on top of other game objects (Only in builds). This is not an issue for my use-case, so I haven't bothered trying to fix it, I just leave it disabled.
     
    faduci, larry2013z and XGT08 like this.
  34. Scourge

    Scourge

    Joined:
    Jan 2, 2013
    Posts:
    8
    Dear XGT08,

    I am currently reviewing and considering to purchase your asset.
    I have a quick question: Is it possible to enter/exit the level editing mode? Is it as simple as activating/deactivating the gameobjects or should we have to call something via script?

    Thank you for your time,
    Viet
     
  35. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    Hi there,

    You could implement a function to toggle edit mode which would look something like this:

    Code (CSharp):
    1. public void SetEditModeEnabled(bool enabled)
    2. {
    3.       RTObjectSelection.Get.SetEnabled(enabled);
    4.       RTObjectSelectionGizmos.Get.SetGizmosVisible(enabled);
    5. }
    I have not tested this code, but it should work. If anything pops up, you can contact me and I should be able to make any necessary adjustments.

    Cheers,
    Andrew
     
    larry2013z likes this.
  36. payalzariya07

    payalzariya07

    Joined:
    Oct 5, 2018
    Posts:
    81
    hi,
    Can I used this asset in oculus quest or oculus go?
     
  37. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    Hello,

    The asset doesn't support VR by default. However, you could add support by implementing this interface:

    Code (CSharp):
    1. using UnityEngine;
    2.  
    3. namespace RLD
    4. {
    5.     public delegate void InputDeviceDoubleTapHandler(IInputDevice inputDevice, Vector2 position);
    6.  
    7.     public interface IInputDevice
    8.     {
    9.         event InputDeviceDoubleTapHandler DoubleTap;
    10.  
    11.         bool DidDoubleTap { get; }
    12.         float DoubleTapDelay { get; set; }
    13.         InputDeviceType DeviceType { get; }
    14.  
    15.         Ray GetRay(Camera camera);
    16.         Vector3 GetPositionYAxisUp();
    17.         bool HasPointer();
    18.         bool IsButtonPressed(int buttonIndex);
    19.         bool WasButtonPressedInCurrentFrame(int buttonIndex);
    20.         bool WasButtonReleasedInCurrentFrame(int buttonIndex);
    21.         bool WasMoved();
    22.         bool CreateDeltaCapture(Vector3 deltaOrigin, out int deltaCaptureId);
    23.         void RemoveDeltaCapture(int deltaCaptureId);
    24.         Vector3 GetCaptureDelta(int deltaCaptureId);
    25.         Vector3 GetFrameDelta();
    26.         void Update();
    27.     }
    28. }
    29.  
    This interface is implemented for mouse and touch screens. But it doesn't have an implementation for VR.

    So if you can implement this interface, there is an additional simple step that needs to be performed and it should work with VR.
     
  38. antsonthetree

    antsonthetree

    Joined:
    May 15, 2015
    Posts:
    75
    Hello - I would like to be able to set a single root/parent game object (a scene object) so that every time I use RLD to add a new prefab it will automatically make it a child of the root. What would be the best way to do this?
     
  39. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    Hello,

    You will need to implement an event handler for the prefab spawned event:
    Code (CSharp):
    1. private void Awake()
    2. {
    3.       RLDApp.Get.Initialized += OnAppInitialized;
    4. }
    5.    
    6. void OnAppInitialized()
    7. {
    8.     RTPrefabLibDb.Get.PrefabSpawned += OnPrefabSpawned;
    9. }
    10.  
    11. void OnPrefabSpawned(RTPrefab prefab, GameObject spawnedObject)
    12.     {
    13.            spawnedObject.transform.parent = sceneParent;
    14.     }
    15.  
    This may look a bit more complicated than it needs to be. Basicly, you have to register the prefab spawned event after the app has been initialized. Inside the OnPrefabSpawned handler, the second paramater points to the obejct that was spawned. You can use this to attach it as a child of the parent.
     
    larry2013z and antsonthetree like this.
  40. Skaltum

    Skaltum

    Joined:
    Nov 1, 2013
    Posts:
    15
    First of all, fantastic asset!

    I'm having some issues with grab sessions.


    Scaling, rotating and offsetting from surface only works correctly some of the time.
    If I scale the selection some of the objects shoot off the screen with a great offset. In the video you can see that one object is behaving correctly but the rest either does nothing or misbehaves.

    Got any idea what might be causing this?
     
  41. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    Hi there,

    Thanks for pointing this out.

    It seems however that I can't reproduce this issue. Is it possible to provide more details regarding the surface that you are using? Is it a terrain or a mesh object?
     
  42. Skaltum

    Skaltum

    Joined:
    Nov 1, 2013
    Posts:
    15
    It is a unity terrain.
    It seems to work somewhat better if the grab session starts off with dropping the objects on the terrain from a height. If the objects start with their root (bottom of the model) on the terrain, they flip out.



    Edit: It only happens on terrain. Other surfaces work flawlessly. Here are the terrain settings:

     
    Last edited: Mar 17, 2020
  43. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    Hello,

    I am sorry for the late reply. I can't seem to be able to reproduce this issue. Is it possible for you to share the terrain asset or any part of the scene that can allow me to reproduce the issue?
     
  44. Skaltum

    Skaltum

    Joined:
    Nov 1, 2013
    Posts:
    15
    I have send you a repro project in a PM.
     
  45. Skaltum

    Skaltum

    Joined:
    Nov 1, 2013
    Posts:
    15
    My problem was of my own creation. I didn't read the docs properly.
    Fix: Read/write must be enabled on object meshes for selection grab to work properly.
    ⭐⭐⭐⭐⭐
     
  46. cory6677

    cory6677

    Joined:
    Oct 20, 2013
    Posts:
    8
    For anyone else struggling to get Easy Save 3 working with Runtime Level Design, where it is not loading the meshes or materials from RLD-created objects, I have found a solution. Easy Save does not handle for prefabs that aren't pre-existing in your scene without an extra step.

    When you refresh the Reference Manager in the editor, it doesn't find them because they don't exist in the scene, and once they do exist in the scene during runtime, the Reference Manager itself does not save after you close the scene and those references disappear.

    To fix this, right click your prefab in the Unity file explorer and click "Easy Save 3 -> Add Reference to Manager". This adds a script to the prefab that allows the Reference Manager to see it without it pre-existing in the scene.
     
    larry2013z likes this.
  47. pfdaniel

    pfdaniel

    Joined:
    May 3, 2020
    Posts:
    2
    Hey!
    We're loving RLD so far, thanks for building a great asset!
    We were having some performance issues and traced it back to CalcHierarchyModelAABB(). When we commented out some of that function (seen below) our frame rate improved significantly.

    image (6).png

    In fact, it brought down the time consumed from 30ms to 1.5ms! The big downside we found to commenting this out, is that the extrude gizmo no longer appears (I'm assuming it relies on the aabb calculations).

    Any suggestions on how to keep both the performance improvements while also maintaining the extrude mode?

    Thanks!
     
  48. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,505
    Hello,

    Thanks for contacting me. Do you think you could post a screenshot with a deep profile view? I would like to see the context in which this function is causing trouble.

    I will have a look at this.

    Cheers,
    Andrew
     
  49. Reddevildragg

    Reddevildragg

    Joined:
    May 19, 2014
    Posts:
    46
    Hey, Just a quick question what is the best way to have the bounding box of a selected object only render on particular camera. Our app has multiple cameras and they all render the box, where ideally what we want is only for 1 the cameas to do so, looking through the code it gets drawn around here but cant see a way to add a layer or something to stop other cameras seeing it
    upload_2020-7-31_15-41-46.png

    upload_2020-7-31_15-41-12.png

    Thanks for any help
     
  50. Bioman75

    Bioman75

    Joined:
    Oct 31, 2014
    Posts:
    49
    Hello, does this asset have controller support? Also does this work on other platforms like console?
     
    Last edited: Aug 13, 2020
unityunity