Unity Tools

Here you can find links to Tools for Unity that I have created. All links will take you to a GitHub page where you can download and completely inspect the code for any reason you may want to. Tools are something that I make if I need to, so more will show up randomly.

  • Generic Grid Pathfinding System for Unity

    This is a pathfinding solution for grid based games in Unity. The path finding is A* and uses a priority queue, so the results are quick. Additionally, the system does not rely on the state of any node in the grid. Therefore, different actors can request paths at the same time and the results will not be affected by each other. Because of this, it supports multi threaded path requests as well as non threaded requests.

  • Pixilation Render Feature for Unity URP 2022

    This is a custom render feature I made for Unity 2022 that creates a pixilation effect. It will only apply the effect to objects in the assigned layer. It works by rendering the objects in that layer to an RT, and then down sampling that RT. Then in can use that down sampled RT to compare against the camera target texture and pixilate parts of the texture where the down sampled objects were drawn.

  • Water Cyclone Effect for Unity BiRP

    This is a water effect that creates water cyclones. It works by rendering planes with a shader that writes data about the cyclone into a render buffer. This render buffer can then be sampled by the water plane to displace and color the water according to cyclone data in the render buffer.

  • Outline for selected objects URP Render Feature for Unity

    This is a URP Render Feature that will add outlines to meshes that are in certain layers in the scene. It uses the jump flood algorithm so it is pretty performant. It is one script and one shader. Big as wide of outlines as you like and what ever colors. Feel free to adjust any aspects of it to your liking.

  • Vector Swizzle Extension Methods For Unity

    I wrote a script that generated the code for every possible Vector swizzle you can do so you can write HLSL style vectors for Unity’s various Vector structs instead of having to create a new Vector and assign the values in the constructor. It is a thing that I often find myself accidently doing and then realizing that I am not writing shaders, so I solved that problem.

  • Gradient Maker Tool

    Gradients are common in writing shaders, but Unity’s shader languange offers no way to use them built in. Shader graph has a gradient node but if you are writing shaders by hand trying to code gradients is tedious. This tool allows you to quickly make them in editor and use them as textures in shaders. Supports linear as well as radial gradients.

  • Texture Array Maker Tool

    Unity Shaders can make use of Texture Arrays but Unity provides no way to make them in the inspector. I built this because I was using Texture Arrays for some terrain shading and found it nice to be able to quickly make them in the inspector.