[Open Source] Divine Automatization

Divine Automatization

Divine Automatization is an open source tool to make automatic tasks inside Unity, it features a graphic node editor as Shadergraph (Unity’s Shader Editor) does.

There are a lot of times where i found myself at work or at my personal projects wanting to automatize tasks, however, all the time you need to start from scratch or the system get too tedious to keep adding code to it.
So that’s why this tool came up.

Features

  • Ability to create custom nodes, every project is different and you may need the ability to expand the system, it’s pretty easy to do this as the controls to draw in the nodes the parameters will be already done, also enums!
  • A node editor to make it quick and intuitive, why waste time in your mind when you can see what you will get?
  • Properties, mutable or not mutable properties available for you, also you can pass properties to the job when using it externally.
  • Branching in jobs, do you want to check if a file is of x type to do x thing or y thing? You can.
  • Serialization System, save your jobs and graphs under the same asset and edit them when you want.
  • Open Source and under Apache 2.0 license, did i said it’s free?
  • Undo System (Don’t lose your precious changes)
  • Combine it with Jenkins or another tool!

Screenshots
A preview of a job in Divine Automatization.

Selecting Enum Type
(All enums available will be automagically added to the searcher, you dont need to do anything!)

Repository
https://github.com/Kirbyrawr/divine-automatization
No package available during dev phase.

Roadmap
https://www.notion.so/36b64b173aad4bf2a2ec3b3ab8efc76b?v=4c04f45e0309422ca4ceeaf36f4890aa

Current Nodes

  • Copy Node ➝ Copy folders and files to another location.

  • Rename Node ➝ Rename folders and files.

  • Open URL Node ➝ Open URLs

  • Switch Platform ➝ Switch between the different platforms of Unity editor.

  • Move Node ➝ Move files or folders from one place to other.

  • Delete Node ➝ Delete files or folders.

  • Load Prefab Contents ➝ Load the prefab in a isolated scene to make edits with future nodes.

  • Clone Repository (Git) ➝ Clone github repository using ssh URL.

Cheers, be sure to follow me on Kirbyrawr (Kirbyrawr) · GitHub and also on x.com, thanks!

PD: I hope one day to see this integrated in Unity as an official package :slight_smile:

5 Likes

Progress update

  • Added two new nodes (Delete and Move)
  • Fixed undos not working properly when deleting nodes.
  • Fixed some layout issues in nodes.
  • Improved naming in node searcher.
  • Finished logic of enums.

The two new nodes:
6334794--703182--upload_2020-9-21_23-5-37.png

1 Like

Progress update

  • Added new node (Load Prefab Contents)

  • Added GameObject Field and serialization.

6355449--706839--upload_2020-9-27_22-20-35.png

This is now live on Github, it’s still work in progress so no package for now.
https://github.com/Kirbyrawr/divine-automatization

Progress update

  • Added Clone Repository (Git) node.
  • Added GameObject variables to blackboard.
  • Added Serialization converters to blackboard.
  • Now the GameObject fields don’t allow scene objects.

Progress Update

  • Added new popup search for nodes.
  • Added help to nodes.
  • Fixed position of popup in windows scaled screens.
  • Fixed position when creating new nodes.
  • Fixed some property buttons not working properly.

Progress Update

  • Removed in Node content
  • Added node inspector
  • Added click event to show node parameters in custom inspector

1 Like

Progress Update

  • Added new stylesheets.
  • Cleaned existing stylesheets.
  • Renamed some classes.
  • Improved the inspector design.
  • Added node title to the inspector.
  • Now the variable button of the field is at the beggining of the variable.
  • Now the variable button of the field have an icon.
  • Fixed design issues of nodes.

Progress Update

  • New internal design for inspector.
  • Added arrays task to Copy Node. (Testing on this one first, will apply to the others later on)
  • Added new design controls of the inspector (DAInspectorSection)
  • Added scroll to the inspector.
  • Improved undo code, now it can store temporal session data.
  • Added new array fields controls of the inspector.
  • Added tooltips to several places.

Progress Update

  • Removed placeholder of parameters in RunJob.
  • Added FontAwesome Free license file.
  • Added array support to OpenURL and Delete nodes.
  • Added new design to SwitchPlatform, OpenURL and Delete nodes.
  • Added DAInspectorArrayElement, used to create List entries.
  • Refactorized CopyNode.
  • Fixed issue of not being able to see data of some nodes with arrays.
  • Added functionality to move array elements buttons.
  • Clone Git Repository, Move and Rename nodes now have arrays support.
  • Improved documentation to reflect the changes of the arrays.
  • Now Clone Git Repository uses the destination path properly.
  • Added undo to blackboard properties.

6625393--755068--Update8.gif

Progress Update

  • Added Path Fields replacing the plain string in the cases a path is needed.
  • Added Path Editor, it allows the user to preview the path without the hassle of debugging it.
  • Added Special Folders tags when using paths, this allow us to make cross platform tasks.
  • Now the paths are relative to the project unless specified, this allow us to make cross platform tasks.
  • Added new node ‘Assets Database Refresh’
  • Now the Copy, Move, Delete and Rename nodes uses .NET methods instead of Unity ones, allowing us to interact outside of the directories of Unity.

6658699--761410--Update9.gif

WOW I’ll try this in my next game for sure!