Search Unity

  1. Get the latest news, tutorials and offers directly to your inbox with our newsletters. Sign up now.
    Dismiss Notice

【Optimizers】- Easy to use and functional components to optimize any other components!

Discussion in 'Assets and Asset Store' started by FimpossibleCreations, Jan 28, 2020.

  1. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    Yeah, you can also re-import each package from me (look,tail,spine animator if you're using them) actually there will be removed a lot of unnecessary scripts and other files from your project since I packed demo scenes into .unitypackage
    Also remember to convert previous components to V2
    (converter also inside .unitypackage, after conversion you can delete "Optimizers" v1 directory)
    I suggest checking prefabs with "Optimizers Sub-Assets Cleaner" to be sure if some files from optimizers V1 are not remaining inside prefabs.

    Add "Sub assets cleaner" (no scriptables cleaner, it's for optimizers V2)
    to some object on scene, drag and drop prefab from project browser to "Prefab with optimizers" field, hit "Check for leftowers" number of not used files will appear, then hit "Clear Leftowers" and prefab should be clean from not used files.
    After doing it to all prefabs which was using optimizers 1 you can remove optimizers 1 directory.
     
    Last edited: Sep 27, 2020
    dmenefee likes this.
  2. Alf_Pacino

    Alf_Pacino

    Joined:
    Apr 20, 2018
    Posts:
    6
    Every time I instance the component "Complex Optimizer Shape" in an object this error appears:

    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. FIMSpace.FOptimizing.FOptimizer_ComplexShape.OnValidate () (at Assets/Plugins/FImpossible Creations/Optimizers/Components/FOptimizer_ComplexShape.cs:258)
    3. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
    I can't find any way of fixing this or finding the error itself on the code. Any tips?

    Edit: It still works, but the error persists

    PD: Great work you are doing with this one. It's helping way more than I was hoping for
     
    Last edited: Sep 25, 2020
  3. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    Thanks!
    It seems you trying to use old version of optimizer, in optimizers V2 complex shape is switchable feature under "Additional Features" tab ;)

    upload_2020-9-26_20-7-30.png
     
  4. ScaniX

    ScaniX

    Joined:
    Apr 10, 2016
    Posts:
    31
    After converting the optimizers to V2 and deleting the V1 folder, I had lots of broken elements in the prefab ("LOD Set-...") that were referencing missing scripts. I could not delete them in Unity and the build crashed when loading the scene (said it was corrupted in the log).
    I had to roll back to a version before adding the optimizers to make it run again.
     
  5. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    You was converting it through scene prefab / isolated mode or through project browser?
    (There should be warnings on top of the inspector window around conversion buttons)

    Cleaning sub-assets from prefab is so painful, it sometimes work sometimes not it seems.
    So I suggest using sub-assets cleaner component,
    (cleaner for optimizers V1 is called "Optimizers Sub-Assets cleaner")
    put target prefab onto field and hit "check for leftowers" then "clean", only one solution which is working all the time.

    Thankfully new Essential Optimizer is not using sub-assets at all.
    I will submit hidden update for cleaner and send you it in PM.
     
    ScaniX likes this.
  6. Alf_Pacino

    Alf_Pacino

    Joined:
    Apr 20, 2018
    Posts:
    6
    After spending days in upgrading to V2, I have a dropdown of about 30 fps in most places where I used the optimizer. I actually run considerably worse than before in most aspects, sometimes it won't work properly, even when creating new optimizers. We even found a few "bugs" in your code. I feel like I'm doing something wrong, and I would like us to help each other in making this tool work if you have the time of having some kind of discord chat or something like that.
     
    Last edited: Sep 29, 2020
  7. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    Code is almost the same, but moved to few different solutions which shouldn't have any impact on performance.
    I tested it in different scenarios and it was working the same, please write on my e-mail (fimpossiblegames@gmail.com), it may be some bug.
     
    Last edited: Sep 30, 2020
  8. fenix7x

    fenix7x

    Joined:
    May 6, 2015
    Posts:
    1
    Hello, i bought optimizers and it save me a lot of time.

    i have a question:
    How can I avoid generating the gameobject "Generated -Optimizers-Manager"??

    I am making a UNET multiplayer game and the player has an attached camera and Generated -Optimizers-Manager component and the player is a spawnable prefab.
    thanks
     
  9. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    Great to hear!
    Optimizers Manager needs to be present in game scene, you can add it by hand in your game init scene so it will exist through whole gameplay, it should not be spawned, just exist in scene.
    You can add it on editor testing scenes, when you enter game then first initialized optimizers manager will remain, new ones when loading other scenes (for example from editor testing scenes) will be deleted to prevent conflicts.
    I suggest adding it to separated game object like "Game Controlers" or something like that.
    When you have enabled "Exists through scenes" it will be present even you load new scenes (inside don't destroy on load)
     
  10. kanu0009

    kanu0009

    Joined:
    Jul 16, 2018
    Posts:
    14
    Really interesting asset. Does it work with Oculus Quest VR?
     
  11. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    Yes if you use it with single camera, not with one camera for each eye (it's up to you what setup you want in oculus SDK)
     
    combatsheep likes this.
  12. combatsheep

    combatsheep

    Joined:
    Jan 30, 2015
    Posts:
    122
    I'm converting Optimizers V1 component to V2 component now.

    After converting all the Optimizers V1 components, is it okay to leave the "Optimizers2" folder inside the "Fimpossible Creations" folder and remove the "Optimizers" folder?

    Thanks.
     
  13. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    You updated to newest hidden update for optimizers? There was some issue which was not showing buttons for converting to "Essential Optimizer", in newest version it should work.

    Yes after converting you can remove "Optimizers" directory and leave "Optimizers 2" in project.
     
    combatsheep likes this.
  14. combatsheep

    combatsheep

    Joined:
    Jan 30, 2015
    Posts:
    122
    Yes, I updated Optimizers to newest version.

    Thank you for replying. I will try to remove "Optimizers" directory after converting completely.:)
     
  15. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    468
    I have a lot of lights in the scene and this really improved the performance. I have a few questions.

    Do you recommend using Effective or Static mode for lights?

    I have interior and plan to add multiple floors, I noticed that spheres are used for the LODs but if I have lights on the first floor and Im on the second floor Id like to disable the ones on the first floor. Do you recommend using Obstacle detection in that case?

    Unfortunately I can't use unity occlusion culling because it really breaks my scene.
     
  16. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    If your light is not moving on scene then go ahead with static, effective is the same like static but gives one more job to optimizers manager to update it's position for culling.

    The most optimal practice for disabling lights on one floor would be simple trigger collider.
    You could use obstacle detection on lights near stairway or something.
    Soon I will work on tools for such level setups.
     
  17. codestage

    codestage

    Joined:
    Jul 27, 2012
    Posts:
    1,492
    Hey @FimpossibleCreations,

    First of all, thank you for your hard work!

    We tried your Optimizer v2.0.0 plugin and found few issues, would be nice to see fixed in future updates:

    1. Scripts are not wrapped with Assembly Definitions leading to the extra compilation time on every project recompile (since default Assembly-CSharp.dll & Assembly-CSharp-Editor.dll are recompiled every time).

    2. Some scripts are not wrapped with the namespaces (e.g. demo scripts like OptDemo_Flicker).

    3. FIMSpace.FOptimizing.OptimizersManager.DynamicUpdate uses allocating
    Code (CSharp):
    1. public static Plane[] CalculateFrustumPlanes(Camera camera);
    API which generates 128-byte GC allocation per frame (e.g. ~11kb per second at 90 FPS).

    Please consider using allocations-free
    Code (CSharp):
    1. public static void CalculateFrustumPlanes(Camera camera, Plane[] planes);
    version instead (reusing once pre-allocated array);

    4. FIMSpace.FOptimizing.EssentialLODsController.GetIFLODList method does allocates 3-4.5 kb per call, every few frames in our scenario:

    upload_2020-10-13_18-4-15.png

    5. Everything placed at the Resource folder gets into the build, including dummy txt files and all the base scriptable object files. Would be nice to avoid using Resources folder at all (using direct serialized references instead for example) or make it contain only files which really needed in the build for the plugin functionality.

    Hope these issues can be addressed in near updates, optimizers gonna optimize! =D
     
  18. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    Thanks for pointing that, I must manage it in all my packages.
    Soon I will provide update with everything arranged.

    I left demo scripts unwrapped intentionally, but after some time I think it's better to keep them in right namespace, it will be done in next update.

    Wow thanks!
    I was making base version for that on unity 5.6.0 and there was no overload option for that.

    Fast fix in next update ;)
    List should be allocated but condition for refreshing it was wrong, in next update it should disappear from the debugger.

    This files are needed if you use scriptable optimizers, without them extending optimizers to any custom component support would not be possible without changing core code of the package.
    Scriptable Optimizer types are not hard coded, but are using all optimizer scriptable references in different resources directories.
    If you use just EssentialOptimizers you can remove files from resources directory ;)


    Thank you for finding this leaks, I was so overloaded by working on other aspects of this package that few things finally slipped through my fingers :D
     
  19. umair21

    umair21

    Joined:
    Mar 4, 2016
    Posts:
    131
    Hi, anyone used Optimizers for android game? Is this suitable for mobile devices to use this asset?
     
  20. ZekaTatu

    ZekaTatu

    Joined:
    Dec 7, 2017
    Posts:
    49
    I'm using a lighting system in a big city.
    A script in each light determines its lighting according to the rotation of the sun.
    But, the lights flash when the camera passes each LOD limit.
    I am using the updated V2.
    Unity 2019.4
    Checked Disabled on each Optimizer LOD.
    Any suggestion?
     
  21. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    Maybe you animating lights on your scene and the intensity changes? Please try unchecking this (visible in first LOD Level setting) but then transitioning will not be available.
    upload_2020-11-11_11-24-8.png
     
  22. ZekaTatu

    ZekaTatu

    Joined:
    Dec 7, 2017
    Posts:
    49
    How to recreate the problem:

    1) Add a "Spot Light" to the scene.
    2) I added the "Essential Optimizer" with 7 LOD levels.
    I approached the levels to better check the intervals, getting almost at least for each one: 0 / 6.6 / 13.5 / 23.4 / 35.3 / 50.2 / 68.
    3) Check "Disable" (visible in Level setting), at all levels.
    4) Add the script below to the "Spot Light" and drag it to the box in the Inspector.
    5) Test by moving the camera on the scene.

    using UnityEngine;
    public class TestLight: MonoBehaviour
    {
    public Light spotLight;
    void Start ()
    {
    }
    void Update ()
    {
    ChangeColor ();
    if (Input.GetKeyUp (KeyCode.Space))
    {
    spotLight.enabled =! spotLight.enabled;
    }
    }
    void ChangeColor ()
    {
    spotLight.enabled = true;
    }
    }
     
  23. ZekaTatu

    ZekaTatu

    Joined:
    Dec 7, 2017
    Posts:
    49
    I have another problem, and I can't find a solution and I don't know why it happens.
    Several errors:
    [OPTIMIZERS] Optimizer had saved objects to optimize which are not existing anymore!
    UnityEngine.Debug: LogWarning (Object)
    FIMSpace.FOptimizing.EssentialOptimizer: Start () (at Assets / FImpossible Creations / Optimizers 2 / Code / Optimizer Essential / EssentialOptimizer.LODOperations.cs: 28)
     
  24. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    With it optimizer will try to disable light each time it reach any LOD distance range. (so it always be disabled-I think you don't want this)
    If you want to disable light in gameplay mechanics then try using light intensity or light range.
    Optimizer is disabling light component in the same way as you doing with spacebar key and conflicts appear.

    This errors shows when in "To Optimize" are null components (it's not an error it's just info), you probably had components to optimize inside object and after some time you removed them? Now try to open prefab and unfold "To Optimize" list, optimizer will refresh it by itself.

    If you have some more questions please write on my e-mail FimpossibleGames@gmail.com
     
  25. ZekaTatu

    ZekaTatu

    Joined:
    Dec 7, 2017
    Posts:
    49
    I have 592 infos of these. Even updating prefabs, this number does not change. There is no way to locate the prefab that generates this warning.
     
  26. P3ndragonLLC

    P3ndragonLLC

    Joined:
    Sep 19, 2019
    Posts:
    50
    Hello,

    I have Optimizers and it worked great in my first build. Now when I try to run my scene, none of the objects I have the Essential Optimizer attached to don't show.
    I get the exception:
    The object of type 'Transform' has been destroyed but you are still trying to access it.
    on line:
    LastTresholdCheckCamPos = TargetCamera.position;

    I'm not sure why it worked the first time, my environment is the same, but maybe it has something to do with the fact that I switch out scenes and have a different camera in the new scene? I actually switch cameras during the use of the scene (the user can switch between an automated camera and the FPS camera). Is there a good solution I can use for switching cameras in the scene? - Also, does it work if I have multiple cameras at once in the scene?

    Is there an API call I can make when I switch the camera?

    Thanks!

    NOTE: I just re-read the docs and found the API call, I'm looking into using it now.
     
    Last edited: Nov 22, 2020
  27. P3ndragonLLC

    P3ndragonLLC

    Joined:
    Sep 19, 2019
    Posts:
    50
    Oh - I'm also seeing this exception, maybe this has to do with why none of the objects are showing up.

    CullingGroup bounding distances must be sorted in ascending order.
    Optimizers_CullingContainer
    line 74: CullingGroup.SetBoundingDistances(DistanceLevels);
     
  28. P3ndragonLLC

    P3ndragonLLC

    Joined:
    Sep 19, 2019
    Posts:
    50
    I added the Optimizers Manager and set the delay time to 3. It's now picking up my main camera when the scene loads, and the culling is working with that camera. When I call

    FIMSpace.FOptimizing.OptimizersManager.SetNewMainCamera(camera);

    it's not actually updating the camera on the Optimizers Manager component, the Target Camera just stays on the original camera and the culling doesn't update to the new camera. When I call the SetNewMainCamera, should it update in the inspector? (I also looked at the containers debug, and they still show the original camera and don't seem to update to the camera I'm passing in)

    One other issue I'm seeing that I get thousands of messages that say:
    [OPTIMIZERS] Target component is null
    LODI_Renderer, line 97.

    How do I resolve that?

    Thanks!
     
    Last edited: Nov 22, 2020
    combatsheep likes this.
  29. amashfadel94

    amashfadel94

    Joined:
    Apr 30, 2020
    Posts:
    1
    how i can use this tool on my game 2d platformer ? Screen Shot 2020-12-01 at 12.14.27 PM.png
     
  30. D3m0n

    D3m0n

    Joined:
    Nov 11, 2014
    Posts:
    117
    Hi, I can't get the plugin to work properly. Any object you try to optimize for visibility doesn't seem to work. A screenshot is attached.

    upload_2020-12-1_18-42-43.png
     
  31. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    That looks strange, can you mail me via FimpossibleGames@gmail.com and we can discuss your case in more detail?
     
    D3m0n likes this.
  32. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    474
    Hello we would like to Pause/resume animator component with Essential Optimizer is that possible?
     
  33. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    No, every time animator/game object with animator gets enabled again animator resets.
    If you need it in just gameplay, not for optimization you can use "Speed" multiplier in Animator Controller's state, but you don't need Optimizers for that.
    PS. Pozdrawiam Słowianina ;)
     
  34. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    474
    Również pozdrawiam :)

    Ok I understand that, but overall some of our lights flicker on animator and we just would like to set speed to 0 as optimization, I understand that we could make it with code, but I just thought it will be possible in the essential optimizer. Thanks for info ;)
     
  35. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    474
    @FimpossibleCreations

    Asset is amazing :) It has also amazing gizmos, so few asset is so polished on asset store :) This is pleasure to work with that :) I will write a positive review for a moment :)

    Just one missing option for me :) If LOD0 is not changed it would be great to auto Get component variables value. Why? cause for example I'm optimizing birds flocks script. There is number of bird there, And I often change it etc. Now I need to again assing whole LOD. It would be amazing that if LOD0 is not changed that it would get variables from script on start :)

    Pozdr :)
     
  36. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    Thanks!

    Right now I am working on some big update for this package, it will bring tools to automatically add optimizers to all prefabs on scene with customized parameters.
    Also update will offer new experimental version of dynamic occlusion culling without need for baking (DOTS required)
    Thanks for suggestion, I will try adding something like "Lock" option in next update.
     
  37. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    474
    I see that there already is simple oclussion culling that works on :) One more request, Particle Optimizer is awesome, but When we are playing/ stoping particles on our own, then there is a conflict beetween optimizer, and our code. It would be grerat to have a option to avoid such as situation. Please also add animator component optimization option, like for example Speed 0 etc :) It woule be awesome to have such an option :) P.S what about particles I mean That Your optimizer always activate particle Play when changing distance, problem is that We would to optimize it values but not Change if it is playing or not.
     
    Last edited: Dec 12, 2020
  38. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    474
    P.S also I think I foudn a bug, Even if Intensity Light change is turned off, IT seems put initial Light intensity when chanign LOD (when using transitioning) That is esspecially visible when chaning together with shadow fade.

    Also is there any way to force Culling on objects, I would like to cull my object by code in some situation and I would like to force Culling, Is ther API for that?
     
    Last edited: Dec 12, 2020
  39. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    You're right, I didn't implement it to Essential Optimizer by accident, I was testing it only on sciptables and there it's working :D I've sent to you mini patch, in next update it will be applied too.
    Also it's good approach to have variable like "Intensity Multiplier" in flicker script and transition this value through optimizer.

    If you want trigger hiding without using obstacle detection you can use "optimizer.SetHidden()"
    If you enable obstacle detection it will be overrided by now, in next updates I will implement internal hiding and custom hiding.
     
  40. dmenefee

    dmenefee

    Joined:
    Oct 14, 2019
    Posts:
    58
    Hello

    I just updated to the latest version, 2.1.5 (I removed the old folder and installed), and am seeing errors when I build:

    Assets/FImpossible Creations/Plugins/Optimizers 2/Code/Optimizer Essential/Essential LODs Controller/EssentialLODsController.Generating.cs(193,17): error CS0103: The name 'Application' does not exist in the current context

    Assets/FImpossible Creations/Plugins/Optimizers 2/Code/Optimizer Essential/Essential LODs Controller/EssentialLODsController.Generating.cs(200,43): error CS1061: 'ILODInstance' does not contain a definition for 'AssignToggler' and no accessible extension method 'AssignToggler' accepting a first argument of type 'ILODInstance' could be found (are you missing a using directive or an assembly reference?)

    Wrapping the OnValidate() method in #ifdef UNITY_EDITOR resolves the build issue.
     
    Last edited: Dec 18, 2020
  41. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    474
    Hello Your actual version of Optimizers have errors (I wrote to you PM about that) and the older version that I'm actually on, There is a problem with building game on 2018.4 upload_2020-12-18_23-20-50.png

    I saw the new version fix it, but there is a problem with "Boo" namespace. so cant use that new version, and on actual cant build project
     
  42. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    Thanks for report, I have no words for this one, it's just super annoying , Visual Studio is blindly importing wrong Boo.Lang lists without any notification instead of System.Collections.Generic Lists.

    Just replace using Boo.Lang;
    with using System.Collections.Generic;

    And there will be no errors.
    Quick fix for editor error included below.
     

    Attached Files:

    Last edited: Dec 19, 2020
  43. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    474
    Still error when try to build upload_2020-12-19_23-29-1.png
     
  44. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    I downloaded version from asset store, applied package I've sent to make sure and it works (I updated 'BuildFix.unitypackage' in my previous post few minutes after reply, maybe you downloaded old version)
     
  45. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    474
    I downloaded version from asset store, imported Fix from earlier post, and What I see is:
    upload_2020-12-20_18-43-9.png

    And we are using newest available UI package for unit y2018.4
     
    Last edited: Dec 20, 2020
  46. thegraphicsflow

    thegraphicsflow

    Joined:
    Jan 8, 2016
    Posts:
    3
    I'm getting a range of errors after importing the full package into my project using 2018.4.27f1, see screenshot attached.

    First one is a missing assembly reference for the older Boo.Lang namespace. The others are mostly protection level errors.
     

    Attached Files:

  47. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    Thanks for raport, I updated fix package in post above (https://forum.unity.com/threads/opt...y-other-components.817362/page-4#post-6639610)
    I checked it on few Unity versions
     
  48. Jakub_Machowski

    Jakub_Machowski

    Joined:
    Mar 19, 2013
    Posts:
    474
    @FimpossibleCreations
    Hello ;) Thanks for fix, But there is still problem with No smooth light fade in ins ome cases, When You set up hiding when lookin in other side, and then You coome to fist LOD when light is ON, then You turn around and go to the distance when light is off (always not looking at light when going there) and then wai there 1-2 seconds and then You will be going back to light You Will see that light will pop up, You should try few times to reproduce that situation :)
     
  49. thegraphicsflow

    thegraphicsflow

    Joined:
    Jan 8, 2016
    Posts:
    3
    Hello, the updated files fixed the build errors, though I'm now getting crashes every time I launch a build of the game, still using 2018.4.27f1. It starts loading initially, then as It's loading the scene it crashes. Below are the lines in the output log during the crash.
    (Filename: C:\buildslave\unity\build\Runtime/Serialize/SerializationCaching/CachedReader.cpp Line: 220)
    Crash!!!
    SymInit: Symbol-SearchPath: '.;C:\Users\Julian\Desktop\Test build;C:\Users\Julian\Desktop\Test build;C:\Windows;C:\Windows\system32;SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols;', symOptions: 534, UserName: 'Julian'
    OS-Version: 10.0.0
     
  50. FimpossibleCreations

    FimpossibleCreations

    Joined:
    Jun 27, 2018
    Posts:
    351
    Alright so it's related with looking away and then changing LOD levels, I will try to reproduce it and send you quick fix.


    Please check if this lines in file LODsControllerBase.cs are commented (yes that was the source of crashes and just in 2018.4 version)
    upload_2020-12-30_9-45-46.png
    You can also just update package with current version through asset store, version 2.1.6 finally is here.

    Or are you doing build for mobile?
    If yes then make sure you don't have "Managed Stripping Level" in project settings setted to "High"
     
unityunity