Skip to content
Andrew Rumak edited this page Jun 8, 2021 · 40 revisions

ActivateOnStart Component — Set state of specific GO on game start
AnimationStateReference — Specify AnimationClip on object with Animator
AssetPath and AssetFolderPath — Inspector button to browse for folder or asset under Assets folder
Billboard Component — Force object to always face camera
ColliderGizmo Component — Highlight colliders and triggers in SceneView
ColliderToMesh Component — Generate Mesh from PolygonCollider2D data on the fly
Commentary Component — Add text commentary to your GameObjects
CoroutineGroup — TODO
FPSCounter Component — Display FPS counter on Playmode
Guid Component — Generate unique and persistent IDs
MinMaxInt and MinMaxFloat — Asserts that Max => Min with handy inspector drawer
MyCursor — Nice way to set cursor with hotspot
MyDictionary — Serializable Dictionary
Optional and OptionalMinMax — Optionally assignable values
Reorderable Collections — Reorder your collections in inspector
SceneReference Component — Reference scene with Scene asset in inspector
Singleton — TODO
TransformData — TODO
UIFollow Component — TODO
UIImageBasedButton Component — TODO
UIImageBasedToggle Component — TODO
UIRelativePosition Component — TODO
UISizeBy Component — TODO
WaitForUnscaledSeconds — TODO


ActiveStateOnStart Component

Toggles object active state on game start.
For instance, I use it with UI objects, to hide in editor and automatically show in playmode.


AnimationStateReference

Use to specify some AnimationClip on assigned Animator.
Will automatically use Animator of current object, if any.

public AnimationStateReference JumpState;

private void Update()
{
	if (Input.GetKeyDown(KeyCode.Space)) JumpState.Play();
}


AssetPath and AssetFolderPath

String wrapper to display "Browse" button in inspector.
Allows to browse for folder or file path under Assets folder.

public AssetPath RequiredAsset;
public AssetPath MainScenePath = AssetPath.WithExtension("unity");
[Separator]
public AssetFolderPath GameplayTestsFolder;


Billboard Component

Object with this component will always face camera


ColliderGizmo Component

Visualize colliders on scene Works with Mesh, Box, Sphere, Edge, Box2d, Circle2d, Edge2d Colliders.

Also supports NavMeshObstacles!


ColliderToMesh

This component allows to generate Mesh from PolygonCollider2D data
Edit PolygonCollider shape and use FillShape button, or generate mesh at runtime with FillShape() method

This type was used to create foregrounds in The Final Station game 🙂


Commentary Component

You may add several comments with one component.
To enter edit mode just click on any existing commentary


Coroutine Group

// TODO


FPSCounter

Add this to any object on scene to draw FPS counter in playmode.
Allows to specify ui position and target framerate. Target Framerate is used to indicate current performance with color.


Guid Component

Generates unique id no matter what (i.e. handles object duplication or prefab instances etc).
The most viable way to create Save Game System.


MinMaxInt and MinMaxFloat

public MinMaxInt Damage;


MyCursor

public MyCursor Regular;
public MyCursor Interact;
...
Interact.ApplyAsConfinedCursor();
Interact.ApplyAsLockedCursor();
Interact.ApplyAsFreeCursor();


MyDictionary

For now MyDictionary is not for inspector usage, but rather for caching.
I use it to preserve data in editor scripts on assembly reload.
[Serializable] public class AgentAgeDictionary : MyDictionary<Agent, int> {}


Optional and OptionalMinMax

You may use predefined Optional types like OptionalFloat, OptionalString or OptionalComponent etc.
Or create your own with one line of code:
[Serializable] public class OptionalRigidBody : Optional<RigidBody> { }

Some predefined Optional Types have static WithValue(T value) method to set default values from code:
public OptionalKeyCode ResetGameKey = OptionalKeyCode.WithValue(KeyCode.P);

OptionalMinMax, well, is for optionally set min and max float values


Reorderable Collections

Reorderable and ReorderableList base types allow you to create reorderable collections.
Create your own with one line of code:

[Serializable] public class ReorderableNavMeshAgent : Reorderable<NavMeshAgent> { }


SceneReference

Allows to refer to Scene asset in inspector and access scene via SceneName or SceneIndex.


Singleton

//TODO


TransformData

// TODO


UIFollow Component

// TODO


UIImageBasedButton Component

// TODO


UIImageBasedToggle Component

// TODO


UIRelativePosition Component

// TODO


UISizeBy Component

// TODO


WaitForUnscaledSeconds

// TODO





// Editor Types //

//ConditionallyColoredGUIBlock

//ConditionallyEnabledGUIBlock

//DraggableHandler

//EditorWithSubEditors ?

//IndentBlock ?

//ReorderableCollection

//SceneClickHandler

//ScrollViewBlock ?

Clone this wiki locally