Unity
{ Editor Tools & Libraries }
{ Editor Tools & Libraries }
Created in Unity over approximately 4 years, solo-developing this first-person puzzle platformer was a huge undertaking! Creating the game was incredibly challenging, and required gaining knowledge in almost all aspects of game development.
See the Beta MAX page for further information.
During the development of Beta MAX I created many useful tools and utilities. I've extracted several of those tools from the Beta MAX codebase and turned them into their own project.
Extends the main toolbar with 2 additional buttons.
Fast play (Enter play mode without reloading scene or domain)
Open C# Project (Same action as the option from the Assets menu)
A window dedicated to materials. List updates with each new selected GameObject containing a MeshRenderer. Open window from menu: Nexcide > Easy Materials.
Window can be locked to disable updating
List can be saved to an asset file and then loaded
Materials can be shown as icons or list
Configuration from 'Nexcide/Easy Materials' in Project Settings
Extends functionality of ProBuilder. Open window from menu: Nexcide > ProBuilder Ext.
Move Pivot
When toggled on, a handle is displayed in the scene view to allow the user to move the pivot point of the selected mesh. Toggle off to set new pivot position or click away to cancel.
Reset Pivot
Useful in scenarios where vertices have been moved around and the pivot point is no longer even aligned with a vertex. Reset the pivot point to the first vertex of the mesh.
Reset Rotation
Reset the rotation of the transform of the GameObject whilst keeping the mesh in the same place.
Face Paint Mode
When 'Update Color' is selected. The color is updated from the vertex colors of the mesh, if equals. When ProBuilder is in 'Face Selection' mode and 'Face Paint Mode' is selected, right-clicking on face will change the vertex colors.
A window dedicated to scenes in the project. Open window from menu: Nexcide > Scene List.
Use scenes from Build Settings or by searching through custom list of folders
Click a scene to load it or right-click to select & highlight the scene in the Project window
Optionally display folder labels
Configuration from 'Nexcide/Scene List' in Project Settings
Procedurally generate a grid of tiles with randomization to break up repeating patterns. Create from GameObject menu: Nexcide > Tile King Mesh.
Randomize materials
Randomize vertex colors
Randomize Rotation
Randomize UVs
Configuration from 'Nexcide/Tile King' in Project Settings
A custom post processing solution implemented using single ScriptableRendererFeature and ScriptableRenderPass implementations. Each post processing effect support volumes. A pass is created for each enabled VolumeComponent.
Each file containing a VolumeComponent also contains a VolumeEffect implementation. This is so all properties for the shader are in the same place. It also supports multi-pass shaders, the Gaussian Blur effect is an example of this. All post processing shaders are implemented using Shader Graph, except the Gaussian blur effect.
17 post processing effects are included...
Displays a checkerboard pattern where black squares become opaque and white square are unchanged. I don't recall why I made this... I think it's from when I was just learning about Shader Graph.
Samples multiple times at different offsets for chromatic aberration with random jumps over time. Uses a custom function.
Very simple shader that multiplies the input texture by a color. Same effect as the 'Color Filter' option in the default URP Color Adjustments effect.
Overlays scanlines to simluate a CRT display.
Shows the scene depth. Has color, near/far & min/max parameters.
Blends entire texture so when fully applied the whole screen will be the given color. This was created so I could fade to white (using default URP post processing), followed by fading to black.
Entirely in Shader Graph. Uses color & normal deltas for edge detection.
A 2 pass Gaussian Blur created using HLSL instead of Shader Graph. Has Spread & Grid Size parameters.
Simply applies grayscale with optional exposure parameter.
Not grayscale, but actually just 1 color (and black). Default color is white.
Pixelates the input texture using the Posterize node. Has Pixel Size and Tint parameters.
An attempt at pixelating based on depth, so objects further away would be chunkier. Uh... this doesn't work very well, I might revisit it at a later date...
Bit of a weird one. This was created for reference, for handling an Aspect Ratio parameter.
Similar to CRT Scanlines, but better looking, with random chromatic aberration splitting over time and more parameters.
Applies the sepia tone, with optional Exposure parameter.
A Sobel filter. Uses a custom function.
Noise with optional horizontal scanlines. Lots of parameters including speed & frequency of noise and lines.