These are the general-purpose tools and editor scripts I developed for the Unity game engine and published on the Asset Store. All of them are available for download. (Only general-purpose tools that are released on the Asset Store and available for purchase are included here. Project-specific tools are not included in this list)
Ultimate Inspector Button
( Execute any methods by turning them in to clickable button in the editor )
Add [Button()] above any method in your script, and a button with the method's name will automatically appear in the Unity Inspector. Clicking the button executes the method instantly, whether in Editor mode or during runtime. No need to write custom editor code for simple button functionality—save time and boost productivity!
The [Button()] attribute supports customization with parameters like:
> text (custom button label)
> width & height (button dimensions)
> bgColor & textColor (button and text colors)
> margin (spacing around the button).
> hover effect
> 100+ more arguments available
It also supports methods with parameters, allowing you to input values directly in the Inspector before execution. This tool is perfect for debugging, triggering events, testing features, or streamlining workflows.
Ease of Use: Add [Button()] to any method to generate an Inspector button with minimal effort.
Return Value Logging: Functions returning non-void values will have their outputs logged to the Unity console, aiding debugging
Button Grouping: Organize buttons into groups on the same row using the optional "groupTag" property
Extensive Customization: Customize button appearance through properties like dimensions, colors, padding, borders, text styles, and animations—both in normal and hover states
Parameter Support: Automatically creates input fields for methods with parameters, handling common data types such as Integers, Floats, Strings, Booleans, Vector2, Vector3, Object, Colors, Enum , Double , Quaternion , GameObject
Flow - UI Toolkit Extended
(Pure code based UI library for editor scripting and game play UI)
Flow is a framework to create ui for both in game and editor by extending ui toolkit for a way better developer expirence. Its inspired by tail wind for java script and flutter workflow. It is battle tested with lotes of my own assets available on the asset store.
SAGE - ScriptableObject Architecture for Game Engineering
(Dependency injection + observer pattern + Event bus on steroid)
Scriptable object architecture / framework / pattern for unity game engine. Build your game on top of this layer for a far better developer experience
To create a new variable, simply right-click in the project window and navigate to the
ScriptableObject you require: Create -> SOA -> [Your Folder] -> [Your ScriptableObject].
To access the value stored in the ScriptableObject, you'll need to get a reference to it in your code
and call the GetValue() method.
When you need to update the value, utilize the SetValue() method, passing in the new value as an
argument.
If you're interested in tracking changes to the value of a ScriptableObject variable, you can use the
Subscribe() and Unsubscribe() methods. It's recommended to call Subscribe() in the OnEnable()
function and Unsubscribe() in the OnDisable() function of your MonoBehaviour scripts. When
subscribing, pass in a reference to the subscriber (usually using the "this" keyword) and the function
that should be invoked when the value changes. All subscribers will be visible on the scriptable
variable editor ui.
C# Extensions
(1000+ chainable extension functions for faster and simpler programming)
Supercharge your Unity projects with this comprehensive C# Extensions Toolkit! This asset provides a curated collection of utility extensions designed to simplify and speed up your development workflow.
With these extensions, you can:
Perform common tasks with less code and greater readability.
Enhance built-in Unity types like int, float, string, game object, transform, game object, mono behavior, components and more.
Easily manage collections, strings, and mathematical operations.
Write cleaner, more expressive, and reusable code.
Whether you’re creating gameplay logic, improving your tools, or optimizing your scripts, this toolkit is an essential companion for every Unity developer. Save time, reduce boilerplate code, and focus on building amazing games!
AutoGetComponent is the ultimate runtime component binding solution for Unity. No more manual GetComponent calls or tedious drag-and-drop setups! Just decorate your fields with the [Get] attribute, optionally choose your binding strategy (from the same object, its children, or even climbing the parent hierarchy), and let our asset do the rest.
Whether you’re prototyping fast or building a full-scale project, AutoGetComponent takes the hassle out of component binding .So you can focus on creating great gameplay. Perfect for indie developers and teams alike, this asset is an affordable and time-saving tool available on the Unity Asset Store.
Watcher Pro - Real Time Variable Monitor
(Watch the value of any variable in runtime for faster debugging)
Watcher Pro is a powerful Unity Editor extension designed to provide developers with real-time monitoring of variables and values directly within the Unity Editor window during Play Mode. This eliminates the need for excessive Debug.Log statements and offers a cleaner, more organized way to observe crucial data points as your game or application runs.
The Watcher system's true power lies in its string-based monitoring capabilities. While it natively supports primitive types and object references, its most versatile feature is the ability to watch any value through string conversion. This means you can monitor complex data structures, custom classes, or any data type that can be represented as text. By leveraging string formatting and conversion, you can create rich, detailed monitoring displays that show exactly the information you need, regardless of the underlying data type. This flexibility makes the Watcher an invaluable tool for debugging and monitoring any aspect of your game's state.
Key Features:
Real-time display of variable values.
Support for monitoring string, bool, and UnityEngine.Object types out-of-the-box. (Extendable if you add more types later).
Easy integration into existing scripts using simple static methods.
Search filtering to quickly find specific watched values.
Customizable layout options within the Watcher Window.
Automatic clearing of watched values when entering Edit Mode.