Once imported into your project, ScriptableObject Creator is very simple and intuitive to use.
Opening ScriptableObject Creator
Select “Tools/Akiba/ScriptableObject Creator.” in the Unity Editor window. This will open up the main ScriptableObject Creator window.
Brief Overview
Within the ScriptableObject Creator window, you will see a few text boxes and buttons.
These options are as listed below:
- Internal Name – This is the name of the internal class, used for referencing the objects in code once created
- Object Name – This is the default name of newly created versions of this type of ScriptableObject
- Default Name – This is the name of the item in the Project window’s right-click/Create menu
- Menu Name – This is the parent “folder” this object will be found in, inside the right-click/Create menu
- Add Variable – This button will add a new variable to the list, these are the types of data this ScriptableObject will be able to store
The final, saved ScriptableObject will be creatable using “Right-Click / Create / Menu Name / Default Name“, and will be named “Object Name” by default unless renamed, and can be referenced in scripts using “Internal Name“.
PRO-TIP: additional layers within the Create menu can be achieved by adding “/” within your Menu Name or Default Name.
e.g. A Default Name of “Magic/Fire/Basic” would be found in “Right-Click / Create / Menu Name / Magic / Fire / Basic”.

Setting Up Variables
Depending on your use case (such as what the ScriptableObject is going to be used for), you will want to add different variables, and a different number of them to this list.
You can click on the “Add Variable” button to begin with your first variable, and to add additional variable items to the list.
Once created, these items can be reordered, or deleted, using the icon buttons on the rightmost edge of the variable list item.

Simply give the variable a name (not including spaces or special characters), and select a type.
Currently, ScriptableObject supports the following types:
- String – Stores developer-definable text, such as an item name
- Bool – A boolean (toggle, on/off, 1/0), such as whether an item can be sold
- Int – A whole-number value, such as an item weight or price
- Float – A decimal-supporting numerical value, such as an item name or price
- Vector2 – A set of 2 floats, stored as an X and Y value
- Vector3 – A set of 3 floats, stored as an X, Y and Z value
- GameObject – A Unity GameObject, useful for associating a prefab with the item for instantiation
- Custom Type – Allows the developer to create a reference to a script inheriting a custom type


Saving your ScriptableObject
To save your ScriptableObject, simply click the “Save” button in the top-right; an alert will be displayed informing you that the filename of the ScriptableObject MUST match the Internal Name, click OK and save the file in the desired location using the file dialog.
Using your ScriptableObject
To create a ScriptableObject from the script generated by ScriptableObject Creator, right-click in your project view, and navigate to the Create path shown to you in the ScriptableObject Creator window, and click on the Default Name you chose.
We recommend you create a new folder to contain these objects, as having many of these in your Project window can become unmanageable rather quickly.

This will create a new object in the Project View, with it’s default object name matching the Object Name established in the ScriptableObject Creator window. This can be safely renamed if you wish.

In the Inspector window, you will now see an object whose variables match those you defined in the ScriptableObject Creator window, these can now be populated with data and saved. Referencing these objects in scripts (such as for inventory management) can be easily done by referring to the objects by the Internal Name chosen, this can also be seen in the disabled “Script” variable at the top of the object.