Wsystem
Unity asset procedural tooling
The WSystem was a set of tools i developed for an unreleased project to optimize the pipeline of turrets creation for the game. The system main purpose was to create a workflow which a small amount of effort is required to fully create and customize,for instance, a game-ready turret. With a few minutes of setup the system will "give life" to a 3D mesh, allowing it to have a physically accurate movement and behavior.
Movement Module
The system allows a customizable movement setting for each turret, allowing a unique movement simulation for each turret. The module controls the movement speed of the turret, adds a delay to the movement if wanted and enable the user to delimit
Firing Module
This module allows to each turret to have a customizable firing setting. The user can specify i fire mode for the gun, An automatic fire mode means the turret will have a behavior like an automatic/semi-automatic gun, a rotation fire mode is a behavior for guns that have a rotating barrel, an alternate fire mode will alternate between the barrels on firing
Recoil Module
This is a dense module that controls how the turret will physically behavior after each shot.
On the menu we can control how much kick back the turret will have (on each axis), how much time it will take to return to its normal rotation, how much kick we add if we fire in sequence and much more, we can also determine the behavior if we are aiming down an sights.
Animation/Triggers Module
The System has several submenus dedicated to handle and resolve the turrets animations.
The way the system does that is by implementing custom "triggers" that will start,stop,resume an animation linked to the turret movement.
The system also allows to do links between the turret movement and a turret prop, so with a few clicks you could for example link the turret swivel to a lever.
Saving/Loading Module
To give the system the power to dynamically load and replace turrets and run-time, the system is able to save custom system objects that contain the whole configured turret, this also enables the power to easily change some of the turret gameplay properties.
For example, this is the SO(System object) that holds the information for a QuadFlak turret, by simple loading this object in the turret script, the system will load the whole turret.
Decal Handler Module
This module is actually a system of its own, is a series of tools to enable the art team to create visual feedback for projectiles impacts, using either the layer or tag of the game object the decal handler will resolve and spawn a pre assigned prefab to the impact, the system also comes with its own pool system to reduce the impact of prefab instancianting.
Media Dump