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

In most cases it’s harmless, that means optimizer had reference to for example “Light” component but this light object got lost (maybe you just removed it because it’s not needed anymore?)
In the future this log may be removed, in old version of Optimizers it was important message, but current version is handling it better.

Hello- new user- just imported the asset into my 2019.4 project and am getting these two error that prevent anything from being compiled

Assets\FImpossible Creations\Shared Tools\Editor Tools\Property Attributes\FPD_HeaderAttribute.cs(3,14): error CS0101: The namespace '<global namespace>' already contains a definition for 'FPD_HeaderAttribute'

Assets\FImpossible Creations\Shared Tools\Editor Tools\Property Attributes\FPD_HeaderAttribute.cs(10,12): error CS0111: Type 'FPD_HeaderAttribute' already defines a member called '.ctor' with the same parameter types

It’s causing issues in other scripts from the asset as well

I think some old files wasn’t overwritten by package import and files duplicated.
Can you try removing FImpossible Creations directory and import package again?

Thank you for the reply- followed your instructions and the errors are gone- thank you.

Sorry if this has been discussed but cant find a solid answer. We are looking to Update to V2 but basically have an entire game with multiple scenes all set up with old version of Optimizers and components… Is there a tutorial on exact steps to take to get the newest version and have it correctly work? I read on the asset store to use “Optimizers Converter V1 to V2.unitypackage” is this included with updating or on a git or drive somewhere? Should we completly remove the old directory before updating (assuming this will give us about 10k errors from missing scripts and that is our worry…) Thank you for the help hoping making the big jump forward can give even more power to this asset.

??

Hello and sorry for late reply.

Optimizers Converter V1 to V2 contains old Optimizers core in separated directory, so you would be able to use V1 and V2 the same time, there should be no errors.
However, there was many changes to directories on my packages, so it will be better to remove “Fimpossible Creations” directory from the project, then import Optimizers 2 and then import converter package, the components of V1 still should be on your prefabs after that (but please keep some backup).
Then Optimizers V1 should display new buttons on top of the inspector window like this:

7628272--949270--upload_2021-11-4_10-44-40.png

Best way to use this buttons is doing it through inspector window of prefab (not isolated prefab mode) since unity allows to handle sub-assets of prefab in a better way.

Do you have custom scriptable optimizer scripts?
If yes it will be better way to do them from new template since many things changed for handling custom scriptable components.

Thank you very much. Will be attempting this later today.

Has anyone tested around with the terrain Optimizers very much? Ran an initial test and end result saw worse FPS… Is this possibly just in the editor, or ??? (Tested on identical 8km x 8km maps, cut up into multiple terrains where we used optimizer.)

The Unity Terrain component logics are changing through unity versions and enabling/disabling some of the terrain features are causing bigger or smaller peaks depending on the unity version, that’s why there is “Do” switch toggle in LOD settings to avoid changing some parameters, which in some unity versions can cause cpu peaks.
8km x 8km seems to be big, so each enable/disable (for example when camera is rotating around) can trigger a lot of computations for unity engine. Splitting terrain to around 512x512 chunks was in most cases efficient.

Hi,

Is it possible to have the optimizer turn on/off the shadows smoothly? I’m referring to a fading/easing effect instead of the snap that we currently have.

Hey, I am trying to use Progressive Occlusion Culling, but everytime I launch the game I get this error
System.IndexOutOfRangeException: Index {0} is out of restricted IJobParallelFor range [{1}...{2}] in ReadWriteBuffer.

I was following the visual guide so no idea what the problem might be. I am using unity 2021.2
Thanks

If you have turned on transitioning (“Use Transitioning” toggle, after switching it appears as “Fade Duration”), it should change smoothly, just make sure “Use Shadows” is not being switched off on mesh renderers near the light, it can’t be faded, so you can leave “Use Shadows” turned on, on one more LOD level for this mesh renderers.

Thanks for reporting, I will take a look on it on the newest unity versions.

Okay so what is happening when I turn on the use transitioning it still snaps in and out like before just waits X seconds before doing so. I just have my spot light’s shadow mode set to None on the first LOD.

Fading out - waits X seconds and turns off the shadow.

Fading in - turns on the shadow instantly without waiting the seconds.

I’m using HDRP and a bit older version of Optimizers not sure if that may be the problem.

Asset is awesome. FPS boost is so noticeable.
This asset is the only one of it’s kind. But that makes it’s all the more sadder that it doesn’t have multiple camera support.
Please add multiple camera support.

“Non-convex MeshCollider with non-kinematic Rigidbody is no longer supported”
I get this error when I use “Progressive Culling”

Hello.

7697557--963622--optimizer.png

Can you tell me why it is not recommended to do this? And what is the workaround for it?

Unfortunately I am not sure for this but I will try working on it in 2022.
I am not sure since it would select LOD level on every object for the nearest camera.
So if some objects are far for one camera but near for other then the far camera will see nearest LOD anyway.

The shadow snap was fixed in some newer version of optimizers, it may be the case.
Snap also can be produced by changing light importance, but on hdrp it’s probably deferred rendering path and light importance change is not noticable here so that’s probably not it.

Progressive Culling is experimental feature, in next months it will be updated.
I am not sure if this will not cause some issues, you can try adding line in code:

collider.convex = true;

in file Optimizers_Manager.DOTS.Generating.cs at line 29 (below line like: “collider.sharedMesh = collision;”)

You can still use it like that, it just to tell the boost of performance will be low, using this way it will give similar result just like using unity’s LODGroup component. If you have possibility, try put optimizer on more objects/components.

1 Like

I’ve updated to the latest version, but unfortunately that didn’t solve the problem, again the shadow is turning on / off instantly and in the inspector I’m watching the transition going from 0% to 100%. Can you test on unity 2020 LTS with latest HDRP?

Alright, it seems HDRP package is not syncing default Unity light parameters with HDRP parameters.
We need to access HDRP light component and use shadowDimmer variable instead of shadowStrength.
It makes it a bit complicated, but it should be no problem anyway, just follow this:

1: Import package called “Fimpossible Assembly Definitions”
2: Select AD_FimpOther assembly definition file, and in “Assembly Definition References” tab in the inspector window, add to list Unity.RenderPipelines.HighDefinition.Runtime assembly definition.
(there will be already in list assemblies like “AD_FimpShared” and “AD_FimpSharedTools”) then hit apply.

(Warning: If your project have imported packages like burst, ECS, mathematics , you will need to add mathematics, jobs and burst to Fimp_Other and also Fimp_OtherEditor requires burst included)

3: Modify “LODI_Light.cs” file, using computed “Shadow Strength” value to modify hdrp light shadowDimmer value.
It’s done in patch unitypackage file I provide below, I added “HDRP” comments in code in places where code changed, but it was just about 6 lines of code, so nothing too big.

Now shadows should fade with transition option.
If there still will be something wrong, please tell.

7703551–965008–Optimizers Light LODs Handler for HDRP.unitypackage (3.28 KB)