Value Observer

Editor-Friendly Observer Pattern

Value Observer is an editor-friendly implementation of the Observer pattern.

 

Contains:

ValueObserver<T> - observes the value change and notifies listeners. Allows to validate the value change.  

LinkedObserver<T> - connects observer located in another component and allows to use it as a field of this class.

LinkedValue<T> - connects any Serialized Property of any other component or Scriptable Object and allows it to be used as a field of this class.

LinkedMethod<TResult> - connects any method that returns a value. Editor-friendly equivalent of Func<TResult>. Supports up to 10 parameters.

 

Advantages:

  • Very easy to use.
  • Weak code dependency.
  • Completely editor friendly.
  • Works in play mode and in edit mode.
  • Very short syntax.
  • Improves the performance of your application (in cases where you check for value changes in Update or don't check for changes at all).Value Observer is an editor-friendly implementation of the Observer pattern.

Gallery

See also

Huge Texture
Huge Texture allows you to import and use textures larger than 8192x8192px in Unity.

When importing a texture, Huge Texture splits the texture into pages and saves it as a Texture Array.
Texture Array is combined on the shader side, which does not create extra draw calls and has almost no effect on performance.