Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Runtime Level Design

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

  1. JohnBr66

    JohnBr66

    Joined:
    Dec 26, 2018
    Posts:
    1
    Hi,
    I am very much impressed by RLD :)

    There is only one thing I am missing which is to recalculate texture tiling at runtime.
    However I am using a script which exactly does what I want, unfortunately I am not sure in which of your scripts would I need to place the following line of code. This should be anytime, after changing the scale & transform of the object

    gameObject.GetComponent<ReCalcCubeTexture>().reCalcCubeTexture();

    Does anyone know where to put that?
     
  2. XGT08

    XGT08

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

    You should register a handler with the scale gizmos's PostUpdate event:
    RTObjectSelection.Get.GetGizmoById(ObjectSelectionGizmoId.Scale).PostUpdate += Myhandler;

    You can find more info about the gizmo events here:
    https://rld.readthedocs.io/en/latest/GizmoEvents/

    Cheers,
    Andrew
     
  3. santos9991

    santos9991

    Joined:
    Oct 31, 2018
    Posts:
    17
    Hello,
    I created a new High Definition RP project, when I click on PLAY works normally. After add RLD and when you click PLAY the image is having problems. How to solve this?

    Capture.PNG Capture2.PNG
     
  4. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    Hello there,

    RLD does not work with the HDRP or LWRP. When those things will become stable enough to actually be used and when there will be more documentation available, there is a really slim chance I will consider adding support for stuff like that. In the end, it is worth mentioning that RLD is not a shader oriented pack.
     
    Last edited: Dec 28, 2018
  5. santos9991

    santos9991

    Joined:
    Oct 31, 2018
    Posts:
    17
    Ok, thank you!
     
  6. hdpike

    hdpike

    Joined:
    Apr 25, 2017
    Posts:
    14
    Hello, I bought a plug-in called RTG from you yesterday, but only after I bought it, I found that this is not a complete version. I'm afraid it can't meet my needs. Now I want to make up the remaining money to buy a complete version called Runtime Level Design. Can you agree?
     
  7. XGT08

    XGT08

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

    I do not agree to this refund request.
     
  8. hdpike

    hdpike

    Joined:
    Apr 25, 2017
    Posts:
    14
    It is not a refund. I bought the Runtime Transform Gizmos by mistake yesterday. I want to make up the difference and buy another Runtime Level Design of yours
     
  9. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    That is not possible because there is no upgrade possible from RTG to RLD. They are 2 separate packs.
     
  10. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    Hi, XGT08!
    Today bought RLD and RTG. Both look very promising and I like them very much. Special thanks for the massive amount of comments in the code ;)
    Here is my feedback after first look:

    1. If RTScene has any of Draw XXX icons options enabled FPS with time goes down, seems something leaking a lot (just turn on stats in the editor and look how it changes in the demo scene)

    2. The whole framework produces a lot of memory garbage.
    2.1. You should refactor it to use GetComponentsXXX with passing static List instead of retrieving arrays as result.
    2.2. You should avoid unnecessary class constructors where you can use a static instance, like YesNoAnswer or at least use pools to stop produce a lot of them each frame.

    3. Rectangle group selection now is too sensitive, it`s not convenient to do regular clicks, because of even one-pixel mouse jittering is make it classify it as movement and ignore click. Whow about make 2-3 pixels tolerance? With high-res mouse and monitor this cause a lot of pain.

    4. Methods RLDApp.OnRenderObject and RTScene.Update_SystemCall need to be seriously optimized, their cut half of FPS on the scene with few default cubes.

    5. Small bug present in selection if you disable multi-selection flag, you can't do single click selection.
    Possible reason could be here:
    OLD: if (Settings.CanClickSelect && (Settings.CanMultiSelect && !Hotkeys.MultiDeselect.IsActive()))
    FIX: if (Settings.CanClickSelect || (Settings.CanMultiSelect && !Hotkeys.MultiDeselect.IsActive()))

    6. As for gizmos it would be nice to make bigger a responsive area around them to make it easier to select axes (or at least have some options to change it according to a situation).

    7. Why did you provide only 2D handles for scale box gizmo? It would be nice to draw small lit boxes instead of rectangles.

    8. I`ve got 11 warnings during build of an empty project. They were caused mostly by conditional defines of UNITY_EDITOR and obsolete Unity EditorGUI API method EnumMaskPopup (I am using 2017.4).

    Let me know if such feedback is something you consider valuable, or I just should fix that myself silently :):).
     
    Last edited: Jan 1, 2019
  11. XGT08

    XGT08

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

    Thanks for the feedback :)

    I am glad to hear you like it. Regarding comments, I have learnt a long time ago that writing comments is completely useless and a huge time waster. With a few exceptions, comments are simply not worth it in my book :)

    I will investigate that. Thanks.

    EDIT: First things first: the demo scene is really simple. There is no way you could possibly experience any slowdown in that scene. I am currently testing with a scene that has 2939 objects and I have an average frame rate of 70 FPS with ~14 milliseconds/frame. What are your system specs?

    Secondly: The main bottleneck here is the Graphics.DrawMeshNow function which I need to draw the icons. A solution would be to combine the vertices I need to render those into a single mesh so that I can have a single draw call. However, that would most likely only add more CPU overhead. Leaving this as it is for now.

    Those are great tips, but I am not sure what you mean by 2.1. Is there a version of GetComponent that accepts a List?
    I will try to optimize as much as I can.

    EDIT 1: I think I know what you mean. I will definitely try that.
    EDIT 2: Ok. Tried the following:
    1. GetComponentsInChildren<Transform>(outputList) -> this actually decreases performance. On my machine the profiler shows an 18% time spent when the original (without List) implementation is used and around 24% when I use the version with the list. It only makes things worse. I also tried to optimize by avoiding recursion (I assume GetComponentsInChildren uses recursion) using a stack but the time spent went to around 38% :D. For the moment I see no way of optimizing this.

    Regarding the YesNoAnswer, it doesn't seem to make any difference. That is not the bottleneck. The botteneck was calling RTGizmosEngine.Get.IsSceneGizmoCamera inside the event handler and also comparing references such as RTFocusCamera.Get.Target == camera. I have eleminated this event where it was causing trouble and replaced the code with the alternative.

    Ok. Can be fixed.

    There is nothing I can do here at the moment. RLD needs to loop through all objects in the scene every frame and check if the transform has changed. It also needs to detect when new objects have been created or destroyed. When Unity will decide to have the Scene class fire 2 events such as OnObjectCreated and OnObjectWillBeDestroyed and when the Transform class will fire an event like OnChanged, this function should become more optimal.

    Ok. Thanks. Will take a look at that.

    It's already possible. Check the Settings of each gizmo and modify the hover epsilon values.

    Among the myriad of other customizations that you can do with the gizmos, I never thought the lack of lit boxes for the scale gizmo would be a problem :) I am not planning on adding this in the near future.

    EDIT: I will see what I can do. Square ticks look better to me though :)

    I try to avoid conditional compilation as much as possible so for now, EnumMaskPopup will have to stay until a large portion of users will move to newer versions of Unity.

    EDIT: I spoke too soon. I forgot that Unity 2017 is the minimum required version for the pack, so I might be able to fix this.

    I definitely appreciate the feedback. I will do my best to fix those issues. I just can not give you a time frame. It's the first day of 2019 :D

    Thanks,
    Andrew
     
    Last edited: Jan 1, 2019
  12. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    @mm_ASH
    I sent you a PM with the updated pack as well as some info :)
     
  13. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    Hello XGT08!

    Yep, agree that most of the comments just time wasting because they are obvious. But there is a 5% amount of them which are really useful when you see code first time.

    1. Disable VSync in Quality settings. Than run demo scene from RLD pack. I am getting FPS > 1000, after 5 seconds FPS ~ 600, after 15 seconds FPS < 400, after 60 seconds FPS < 200. This happens because of CPU Main thread (it is growing from 1.1ms per frame to more than 4ms) If you disable all Draw Light / Particle / Camera icons it back to FPS > 1200. PC specs CPU: i7-7700K + GPU: 1080Ti

    UPD: seems has this problem already fixed in the version you have send me and FPS > 1200 all the time.

    2. Don't remember when exactly but seems in 2017 Unity added to their API garbage-free versions of GetComponentsInChildren and other methods, which returns an array. Instead, you need to pass a list of <T> to enumerate them later. This is my helper class to enum components without garbage:

    Code (CSharp):
    1.     public static class EnumComponents<T> where T : Component
    2.     {
    3.         //--------------------------------------------------------------------------------------------------------------------------
    4.  
    5.         private static readonly List<T> _components = new List<T>();
    6.  
    7.         //--------------------------------------------------------------------------------------------------------------------------
    8.  
    9.         public static List<T> In(GameObject go)
    10.         {
    11.             go.GetComponents(_components);
    12.             return _components;
    13.         }
    14.  
    15.         public static List<T> In(Component cmp)
    16.         {
    17.             cmp.GetComponents(_components);
    18.             return _components;
    19.         }
    20.  
    21.         //--------------------------------------------------------------------------------------------------------------------------
    22.  
    23.         public static List<T> InChildren(GameObject go, bool includeInactive = false)
    24.         {
    25.             go.GetComponentsInChildren(includeInactive, _components);
    26.             return _components;
    27.         }
    28.  
    29.         public static List<T> InChildren(Component cmp, bool includeInactive = false)
    30.         {
    31.             cmp.GetComponentsInChildren(includeInactive, _components);
    32.             return _components;
    33.         }
    34.  
    35.         //--------------------------------------------------------------------------------------------------------------------------
    36.  
    37.         public static List<T> InParent(GameObject go, bool includeInactive = false)
    38.         {
    39.             go.GetComponentsInParent(includeInactive, _components);
    40.             return _components;
    41.         }
    42.  
    43.         public static List<T> InParent(Component cmp, bool includeInactive = false)
    44.         {
    45.             cmp.GetComponentsInParent(includeInactive, _components);
    46.             return _components;
    47.         }
    48.  
    49.         //--------------------------------------------------------------------------------------------------------------------------
    50.     }
    Use case example:

    Code (CSharp):
    1. foreach rb in EnumComponents<Rigidbody>.In(someGO) do ..
    All this is not about performance optimization, it's about garbage collection over time and freezing of app during GC.Collect later when you are constantly allocating objects or lambdas with the transition. More info.

    6. "hover epsilon" great! seems I didn't notice this option somehow =)

    7. As for scale boxes, take a look how nice them could be (screenshot from another my game editor tool)


    Sure, Happy New Year btw :D:cool:
     
    Last edited: Jan 1, 2019
  14. hdpike

    hdpike

    Joined:
    Apr 25, 2017
    Posts:
    14
    Hello, XGT08!


    I bought RLD and RTG.Both look promising and I like them very much.

    However, there is a problem that bothers me in the project, the object cannot be selected in multiple scenes, please tell me how to solve this problem
     
  15. XGT08

    XGT08

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

    I am not sure what this means. As far as I know, at runtime, you have one scene active and you work in that one. Multi-scene editing is done in the Unity Editor.

    In any case, RLD does not take multiple scenes into account. You load up a scene, use it and then load another when done.

    EDIT: You probably mean that after you switch scenes, you can no longer interact with objects. If that's what you mean, you will need to call DontDestroyOnLoad(RLDApp.Get.gameObject);
     
  16. hdpike

    hdpike

    Joined:
    Apr 25, 2017
    Posts:
    14
    I mean after you switch scenes, you can't interact with objects anymore, the RLDApp.Get.gameObject code should be added there
     
  17. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    In the initial scene that you load up, somehwere in a Start function, write the following code:

    Code (CSharp):
    1. DontDestroyOnLoad(RLDApp.Get.gameObject);
     
  18. hdpike

    hdpike

    Joined:
    Apr 25, 2017
    Posts:
    14
    Hello, XGT08!The situation of my project is the first one to load scene A and then the RLD scene. Both of these scenes exist at the same time, but the GameObject in scene A can no longer interact with objects
     
  19. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    I have trouble understanding what you are trying to do there and I don't know what it means (or if it is possible) to have 2 scenes loaded at the same time.

    The point behind RLD is simple: load a scene, start building.
    In order to prevent RLD from being destroyed when you load a new scene, you can call DontDestroyOnLoad as I said in my previous post.

    This is the best answer I can give in regard to this :)
     
  20. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    @hdpike
    Hi there,

    I just tested scene loading and it works fine, however, the following lines of code need to be added in the initialization code when the app starts up:

    1. DontDestroyOnLoad(RLDApp.Get.gameObject);
    2. DontDestroyOnLoad(RTFocusCamera.Get.TargetCamera);

    DontDestroyOnLoad ensures that these objects will not be destroyed when a new scene is loaded. With this, you can continue to select and interact with objects in the new loaded scene.
     
  21. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Hey @XGT08
    Got a few questions -

    1. Does RLD support the new 2018.3 terrain system?
    2. Does RLD Support the "Create Neighbor Terrain" and "Auto Connect terrain" features?
    3. What file format does RLD save to?
     
  22. XGT08

    XGT08

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

    1.RLD does not take advantage of any terrain features. It does not support terrain eiditing.
    2. Same as above. Terrain editing is not supported.
    2. I wrote in the package description that you will need a pack such as Easy Save to save/load the scenes.
     
    HeadClot88 likes this.
  23. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Thank you for the prompt reply. :)
     
  24. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    No problem :)
     
  25. antsonthetree

    antsonthetree

    Joined:
    May 15, 2015
    Posts:
    102
    It would be cool if there was some feature to let us import an entire folder of prefabs into the RTPrefabLibDb. Currently the only way I can do this is by dragging them one at a time.

    Gah - nevermind. I can drag the folder. Doh.
     
  26. antsonthetree

    antsonthetree

    Joined:
    May 15, 2015
    Posts:
    102
    I have noticed that after using the editor for a while I will occasionally lose the ability to click on objects to select them. I can still select them by dragging a box around them, but single clicking just seems to become unresponsive.
     
  27. XGT08

    XGT08

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

    I don't know what could possibly cause that behavior except for the fact that you might have changed the selection settings. The settings can be configured to ignore certain layers or types of objects and that is the only thing that could cause this. I will need more info if I am to be able to help you out :)
     
  28. xkinginthecastlecastlex

    xkinginthecastlecastlex

    Joined:
    Nov 7, 2018
    Posts:
    93
    Hi there,
    I have updated RLD and noticed Object2Object Snap (S) is not working anymore.
    I can´t align the spawned prefabs at the terrain nor next to an object.

    Inside of RT Object Selection / Object2Object snap the checkbox at "Toggle on/off" is marked and the Key is set to S

    am I missing something else?
     
  29. XGT08

    XGT08

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

    No changes have been made to that system so my guess is that you forgot to mark the meshes as readable. Here is a link to the video and time in which I discuss this:


    This is a necessary step because object to object snap (as well as other features) need access to the mesh vertex data so the meshes need to be readable.

    Please let me know if it worked.

    Cheers,
    Andrew
     
  30. xkinginthecastlecastlex

    xkinginthecastlecastlex

    Joined:
    Nov 7, 2018
    Posts:
    93
    hey thanks for your fast reply.
    Read/Write is enabled on all of my meshes

    Can it be caused by something else?
     
  31. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    Well no reason I can think of. Are the objects marked as dynamic?
     
  32. xkinginthecastlecastlex

    xkinginthecastlecastlex

    Joined:
    Nov 7, 2018
    Posts:
    93
    yes, I just even converted all of the prefabs and the complete scene again..
    I think everything else works, but as soon as I hit "S" nothing happens
     
  33. xkinginthecastlecastlex

    xkinginthecastlecastlex

    Joined:
    Nov 7, 2018
    Posts:
    93
    hey it looks like I found the issue - I turned off RTScene Grid (unchecked is visible) - as soon this is turned back on, object selection "S" works...

    so is there a way to turn off scene grid and keep "S" enabled?
     
  34. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    So I have just tested this with the latest version on the store and it works with no issues.

    Which means there can really be only 2 things left:
    Obj2ObjSnap.png

    Select the RTObjectSelection object in the hierarchy view and then click on the Object2Object snap tab. Make sure the Snap destination layers are properly setup. The snap destination layers are the layers that you can snap to. So in your case, the objects you are trying to snap to might belong to layers that are not snappable.

    Also, make sure the Toggle on/off hotkey is enabled.
     
  35. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    :) Ok. That's weird. I will have to look into that a bit more to see why this is the case. I just have to see if there is a good reason why that is happening or if it was just a mistake.
     
  36. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    I just did what you just did, and in my case it still worked with the grid turned off. :oops:
     
  37. xkinginthecastlecastlex

    xkinginthecastlecastlex

    Joined:
    Nov 7, 2018
    Posts:
    93
    Hi again,

    thanks for your help!
    actually it was related to RTSceneGrid but I kept it visible now and just edited the color to be transparent, now it works fine!
     
    XGT08 likes this.
  38. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    Yes, I read your post and editing the color is indeed a solution. What I can't wrap my head around is that in my case it still works even if I uncheck Is visible. However, I have only quickly tested inside the demo scene. I will have to check the code more thoroughly. Thanks for letting me know about the progress :)
     
  39. xkinginthecastlecastlex

    xkinginthecastlecastlex

    Joined:
    Nov 7, 2018
    Posts:
    93
    sure, thanks for your fast help!
     
    XGT08 likes this.
  40. xkinginthecastlecastlex

    xkinginthecastlecastlex

    Joined:
    Nov 7, 2018
    Posts:
    93
    Hi there,

    would it be possible for you to integrate a super handy feature to RLD: when clicking CTRL / using multiselect and than pressing the "T" Key (in order to drag a prefab into a specific direction) so that multiple objects could be modified at once. I noticed this works currently only when using the "R" key to scale symmetrical, but it would be really awesome to use this feature with "T".

    Is this possible?
     
  41. XGT08

    XGT08

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

    I am not sure I understand. Are you referring to the Universal gizmo? It can already manipulate multiple objects at once.
     
  42. antsonthetree

    antsonthetree

    Joined:
    May 15, 2015
    Posts:
    102
    Thanks - FYI I figured it out. I had my camera inside another game object and I did not add it to an unselectable layer. So it was screwing with my selections. Working fine now!
     
  43. xkinginthecastlecastlex

    xkinginthecastlecastlex

    Joined:
    Nov 7, 2018
    Posts:
    93

    Hi,

    I am not sure if its the "universal" gizmo but yes. For example if you have 3 cube objects as spawned prefabs and mark them with your mouse and then press the "R" - Key it is possible to symmetrically scale all cubes at once, but if I mark all cubes and press the "T" - Key - only one cube can be scaled into a specific direction.

    I hope this explains what I mean.
     
  44. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    Just went and checked the hotkeys again cause I had them confused. The T key activates the box scale gizmo and box scale gizmo can only be used to scale one object at a time. I remember having difficulties with supporting multiple objects.
     
  45. xkinginthecastlecastlex

    xkinginthecastlecastlex

    Joined:
    Nov 7, 2018
    Posts:
    93
    thanks for your fast reply!
    is this very hard to integrate? this would enhance the user experience a lot - it would be great to see this in a future update
     
  46. XGT08

    XGT08

    Joined:
    Aug 1, 2013
    Posts:
    1,893
    This is not possible at the moment. As I said, I have had trouble with it. So for now, it's not planned. Might change in the future. It should not be too hard to integrate, but for some reason, I am missing something.
     
  47. xkinginthecastlecastlex

    xkinginthecastlecastlex

    Joined:
    Nov 7, 2018
    Posts:
    93

    Hi,
    thx for the info.

    Ok, it would be great if you can keep this feature in your mind for future updates, as for now it looks and feels like a bug (because it is possible to use "R" with multi select but not "T" - which is a bit confusing)
     
  48. GDevTeam

    GDevTeam

    Joined:
    Feb 14, 2014
    Posts:
    90
    The T shortcut followed by the UNDO shortcut reveals the undo operation is broken. And also during the deletion of several extruded objects a application stopping defect happened to me.

    Replication Procedures to show UNDO operation broken.
    1) create a cube (etc.)
    2) Q shortcut key object (I did a cube with one Q / extrusion operation)
    3) Ctrl+Z / UNDO attempt.... does not work.

    And this next one I have no replication procedures. I just stumbled on it and cannot reproduce yet. But the gist is that I was testing the T shortcut and noticed UNDO issue. But also went back and forth with several overlapping (same place, extruded left and right ends of a row of cubes) cubes being created during an extruding. Then delete key and perhaps another key? And got this error. Sorry it's not more helpful. But maybe something you want to check into still?

    ******** UNITY CONSOLE FULL STACK ***********

    [Exception] MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.
    Your script should either check if it is null or you should not destroy the object.
    GameObject.GetComponent[T]() C:/buildslave/unity/build/Runtime/Export/GameObject.bindings.cs:28

    GameObjectEx.GetMesh() Assets/Runtime Level Design/Scripts/Runtime Package Common/Extensions/GameObjectEx.cs:195
    193: public static Mesh GetMesh(this GameObject gameObject)
    194: {
    -->195: MeshFilter meshFilter = gameObject.GetComponent<MeshFilter>();
    196: if (meshFilter != null && meshFilter.sharedMesh != null) return meshFilter.sharedMesh;

    GameObjectEx.GetGameObjectType() Assets/Runtime Level Design/Scripts/Runtime Package Common/Extensions/GameObjectEx.cs:58
    56: {
    57: // Check for different components in order of priority
    -->58: Mesh mesh = gameObject.GetMesh();
    59: if (mesh != null) return GameObjectType.Mesh;

    ObjectBounds.CalcWorldAABB() Assets/Runtime Level Design/Scripts/Runtime Package Common/Utilities/ObjectBounds.cs:133
    131: public static AABB CalcWorldAABB(GameObject gameObject, QueryConfig queryConfig)
    132: {
    -->133: AABB modelAABB = CalcModelAABB(gameObject, queryConfig, gameObject.GetGameObjectType());
    134: if (!modelAABB.IsValid) return modelAABB;

    ObjectBounds.CalcScreenRect() Assets/Runtime Level Design/Scripts/Runtime Package Common/Utilities/ObjectBounds.cs:26
    24: public static Rect CalcScreenRect(GameObject gameObject, Camera camera, QueryConfig queryConfig)
    25: {
    -->26: AABB worldAABB = CalcWorldAABB(gameObject, queryConfig);
    27: if (!worldAABB.IsValid) return new Rect(0.0f, 0.0f, 0.0f, 0.0f);

    MultiSelectShape.GetOverlappedObjects() Assets/Runtime Level Design/Scripts/Selection/MultiSelectShape.cs:35
    33: foreach (var gameObject in gameObjects)
    34: {
    -->35: Rect objectScreenRect = ObjectBounds.CalcScreenRect(gameObject, camera, boundsQConfig);
    36: if (_enclosingRect.Overlaps(objectScreenRect, true)) overlappedObjects.Add(gameObject);
    37: }

    RTObjectSelection.PerformMultiSelect() Assets/Runtime Level Design/Scripts/Selection/RTObjectSelection.cs:850
    848: boundsQConfig.NoVolumeSize = Vector3Ex.FromValue(1e-5f);
    849: List<GameObject> overlappedObjects = RTFocusCamera.Get.GetVisibleObjects();
    -->850: overlappedObjects = _multiSelectShape.GetOverlappedObjects(overlappedObjects, RTFocusCamera.Get.TargetCamera, boundsQConfig, Settings.MultiSelectOverlapMode);
    852: // We will need all these later to fire a selection changed event

    RTObjectSelection.OnInputDeviceWasMoved() Assets/Runtime Level Design/Scripts/Selection/RTObjectSelection.cs:835
    833: // First adjust the shape's corner point based on the input device's position and then perform multi-select
    834: _multiSelectShape.SetEnclosingRectBottomRightPoint(RTInputDevice.Get.Device.GetPositionYAxisUp());
    -->835: PerformMultiSelect();
    836: }
    837: }

    RTObjectSelection.Update_SystemCall() Assets/Runtime Level Design/Scripts/Selection/RTObjectSelection.cs:648
    646: if (inputDevice.WasButtonPressedInCurrentFrame(_objectPickDeviceBtnIndex)) OnInputDevicePickButtonDown();
    647: else if (inputDevice.WasButtonReleasedInCurrentFrame(_objectPickDeviceBtnIndex)) OnInputDevicePickButtonUp();
    -->648: if (inputDevice.WasMoved()) OnInputDeviceWasMoved();
    650: if (!_multiSelectShape.IsVisible)

    RLDApp.Update() Assets/Runtime Level Design/Scripts/RLDApp.cs:118
    116: RTSceneGrid.Get.Update_SystemCall();
    117: RTGizmosEngine.Get.Update_SystemCall();
    -->118: if (RTObjectSelection.Get != null) RTObjectSelection.Get.Update_SystemCall();
    119: if (RTObjectSelectionGizmos.Get != null) RTObjectSelectionGizmos.Get.Update_SystemCall();
    120: RTUndoRedo.Get.Update_SystemCall();
     
  49. XGT08

    XGT08

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

    Thanks for supplying such detail info. I tried reproducing the issues and could not do it. Not even the one related to the Q key. I can create a cube, extrude it and then undo without any issues.

    One thing to note is that when working in the editor, you need to use CTRL+SHIFT+Z/Y to undo/redo. I don't know why that is, but it's how it works. Again, this is only a thing that happens in playmode. During a build, the SHIFt key can be left out.
     
  50. xkinginthecastlecastlex

    xkinginthecastlecastlex

    Joined:
    Nov 7, 2018
    Posts:
    93
    Hello,
    is it possible to use custom prefab icons? (for example for prefabs where the Mesh Renderer is turned off)