Custom Asset Generator
Unity gives you an option to store serializable data
container classes into custom asset files. But you have to
always write extra code for any of your classes that
inherit ScriptableObject to generate custom asset of that
class. This tool solves this problem.
Import CustomAssetGenerator.dll and go to
"Assets/Create/Custom Assets/Generate Config Asset"
main menu path to generate configuration asset.
Change values at configuration asset and re-generate
CustomAssets assembly by re-generate button or
"Assets/Create/Custom Assets/Generate Assembly" main
menu path.
CustomAssetGenerator.dll
or
CustomAssetGenerator.unitypackage
Go to Website.
Support Website.
Custom Asset Generator
by Samet Kurumahmut
VERSION HISTORY
Version 1.3.3 Apr 28, 2017
Features
Added Check for Updates menu item to check new version updates.
Added custom About Window instead of displaying basic dialog panel.
Added “Help/” section to main menu item path.
Expandable foldouts when clicked on their labels.
Added link cursor for links.
Added link for publisher page.
Added embedded resources for hard-coded values.
Improvements
Optimized GUI performance.
Changes
Opening file and folder panels at selected directory instead of “Assets”.
Opening Custom Asset Generator Asset Store page inside Unity Editor.
Fixes
Fixed the problem of not showing Mail icon.
Version 1.3.2 Sep 29, 2016
Features
Added ScriptableObject property drawer.
Added refresh button to reload lists.
Hot-key: “F5” veya “Ctrl + R”
Added Help/ generic menu to context menu of the configuration asset icon.
Added reference link buttons.
Changes
Refreshing only current lists(Assemblies or Types) instead of all lists, when detected any
related change.
Opening file and folder panels at selected directory instead of “Assets”, while using
Create Custom Asset buttons.
Sorting assembly and type lists by name, while creating the configuration asset.
Pinging CustomAssets assembly, when it is generated through configuration asset.
Fixes
Fixed: Processing abstract ScriptableObject types.
Fixed: Throwing ReflectionTypeLoadException, while calling Assembly::GetTypes()
method.
Fixed: Duplicating issues, when both type reorderable list and script changes.
Fixed: Not removing type, which is deleted from script, from the type lists.
Fixed: Throwing XMLException, while dragging a non-XML file during version update.
Version 1.3.1 Sep 18, 2016
Features
Added Create Custom Asset menu item for selected custom asset scripts.
Create custom assets through configuration asset.
Added “Ping all Custom Assets” button to configuration asset.
Added buttons to create custom assets, ping them, and ping custom asset scripts to the
header of the reorderable lists.
Added search bar.
Jump to the search bar: “Ctrl + F” hot-key on Windows / “Command + F” hot-key
on OS X.
Close the search bar: “Esc” hot-key.
Added version updater for next versions.
Changes
Sorting type lists by assembly qualified name when they have same full name.
Fixes
Fixed: Duplicate issues when script changes after assembly reorderable list changes.
Fixed: Undo issues after sorting alphabetically a list.
Fixed: Not re-sorting while adding item to alphabetically sorted list.
Fixed: Disabling auto generate when Unity re-instantiates the configuration object
instance.
Version 1.3.0 Sep 6, 2016
Features
Menu items can be created according to the types grouped from different assemblies.
Custom Asset Generator tries to add the new assembly to “Unity Assemblies”, User
Assemblies”, and “Newly Added” list in order. On the other hand, it tries to add the new
type to “Unity Types”, “User Types”, and “Newly Added” in order.
Changing assemblies/types tool-bar tabs can be achieved by using the same keys with
Google Chrome tab shortcuts.
Jump to the next tab: “Ctrl + Tab” or “Ctrl + PgDn” hot-key on Windows / “Command +
Option + Right Arrow” hot-key on OS X.
Jump to the previous tab: “Ctrl + Shift + Tab” or “Ctrl + PgUp” hot-key on Windows /
Command + Option + Left Arrow” hot-key on OS X.
Added ping buttons for all assemblies and types. Show In Explorer/Reveal In Finder with
Alt/Option key.
Added type and className overloads to CreateAsset() and CreateAssetAtPath() methods
for public API CustomAssetGenerator.Utils.ScriptableObjectUtil type.
Added context Object for log messages.
Changes
When any custom asset couldn’t found, printing warning log messages instead of error.
Added space between lists at configuration asset.
Fixes
Fixed: Processing nested ScriptableObject types.
Fixed: Re-generating when already added script has changed.
Fixed: Cleaning up leaked objects in scene” warning on configuration asset.
Version 1.2.0 Apr 21, 2016
Features
Added Open Config Asset” menu item.
Added an icon to differentiate active configuration asset from passive ones.
Added contact links to the configuration asset.
Changes
Custom asset generation methods in ScriptableObjectUtil returns newly generated custom
asset instead of void.
Importing generated CustomAssets assembly using AssetDatabase.ImportAsset() instead
of AssetDatabase.Refresh().
Fixes
Will not delete previous CustomAssets if an error occurs while generating a new
assembly.
Fixed: Unauthorized access exception issue while removing previous CustomAssets
assembly.
Version 1.1.0 Sep 21, 2016
Features
Custom Asset Generator location is truly independent anymore. Previously, Custom Asset
Generator files must be located at “CustomAssetGenerator/Editor/”. But you' re now free
to put it anywhere. Nevertheless, locating under “CustomAssetGenerator/Editor/” path is
a good way to differentiate Custom Asset Generator files from your files.
Changes
Generate button text now can present “Generate” or Re-generate by looking
CustomAssets assembly location that's in same directory with CustomAssetGenerator
assembly. Previously, it was only fixed Re-generate”.
Fixes
Configuration asset would create empty a ReorderableList when user had no Unity or
User assembly.
ScriptableObjectUtil.CreateAssetAtPath() method would create custom assets at fixed
path. Now, it creates them at given path.
Version 1.0.0 Sep 7, 2015
Features
Generating custom assets of any of your classes that inherit ScriptableObject without
extra coding.
Creating generic menu by re-orderable list
Sort alphabetically
Auto generate
Enabling/Disabling logs