UGTK / Toolkit / Utility Systems / Effectiveness System Completed
Effectivness System
Summary
The Effectivness System tiny system where you can get the Effectivness of A with B and viceversa.
Content
Modules Dependencies
The Effectivness System module requires the following dependencies:
- Dictionary System: SO_Dictionary used to put in relation effectivness between two instance of SO_Type.
Ensure that these dependencies are correctly imported and configured in your project.
Setup
To set up the Effectivness System, follow these steps:
-
Create minimum of two instance SO_Type assets on path
UGTK > Type. -
Compile the effectivness across multiple SO_type:
How To Use
To use the Effectivness System, utilize the following methods, called by code:
- Get the effectivness of SO_Type and another
typeA.CalculateEffectivnessMultiplier(typeB); // A -> B effectivness 0.5f
typeB.CalculateEffectivnessMultiplier(typeA); // B -> A effectivness 0.2f
Testing Scene
The scene component is Mn_EffectivnessSystemTest, in UtilitySystems/EffectivnessSystem/Debug/. Drop it in a scene, wire the buttons of the scene to its public methods through their onClick, and press play where the method says it needs it.
What to do, in order:
-
Assign every
SO_Typeof the project to the Tipi list. -
Press Stampa matrice.
-
Press Trova coppie a senso unico.
A type chart's mistakes are relational, so they are invisible while looking at one asset at a
time. The matrix shows them all at once, and the one-way check finds the classic hole: a pair
filled in one direction and forgotten in the other. Watch for the zeros — a pair that was never
authored returns 0, not 1, so it behaves as complete immunity rather than as neutral damage.
Technical Info
The following are the main scripts and workflow of the Effectivness System:
Scripts:
-
SO_Type: Hold a list of relation between self and other SO_Type via the value of effectivness.
-
EffectivnessLibrary: Retreive from SO_Type the effectivness with another instance of SO_Type.
© 2026 Marcello De Bonis. All rights reserved
Depends on 1
Used by 0
- No other module depends on it.
Measured from the repository: code references (asmdef) plus prefab and asset GUIDs. Importing this module alone brings in 1 module in total.
UGTKengine within an engine


