Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

WIP - Magic Item - Item Creation and Database editor extension

Discussion in 'Works In Progress - Archive' started by FireBolt-Studios, Mar 16, 2016.

?

How much do you think this should cost on the Asset Store

  1. £5

    0 vote(s)
    0.0%
  2. £10

    25.0%
  3. £15

    75.0%
  4. £20

    0 vote(s)
    0.0%
  1. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    Magic Item is a Item creation and database editor extension with runtime access and import/export functionality.
    With this extension you can create items that are stored within a database that can be exported and imported within editor and at runtime.

    You can create item types and give them properties which will then be the basis of your newly created items. Assign your items a mesh, material, icon or prefab, dont worry Magic Item deals with the referencing and linking of assets to your items so you can export and import without having to worry about unity types.

    Within Magic Item there is functionality to import and export entire databases at runtime, if you've built and distributed your game and need to update item stats or add entirely new items you can by just replacing the item database file within the build folder with your newly updated database, when you run the build it will load the new database and apply any changes made. Keep in mind when adding or changing an items gameobject data you need to add the desired assets to your game and Magic Item will then find them.

    There is also an ingame console that when the correct commands are entered can give you access to modify and add to the database at runtime. You can spawn items, print the item or item type list in the console, can create and remove items and item types, and import and export there and then.

    Heres some screens of the extension and the ingame console.

    Create your item type.


    Create your item.


    Modify and manage your items and types at runtime.
     
    Last edited: Apr 25, 2016
    theANMATOR2b and mattmanj17 like this.
  2. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    This is interesting.
    Can you provide a bigger picture - the one attached is tiny. :)
     
  3. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    Are you talking about the size when you click on the image to enlarge?
     
  4. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    The image in the first post isn't clickable to enlarge for me.
     
  5. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    I put the link to the Image there if that helps. :)
     
  6. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    Nope - the link is the same size image as the embedded one. 180x109 pixels.

    Oh well - what I'm really interested in knowing - Could I use this editor extension successfully as a non-coding artist who uses a visual scripting tool to overcome my lack of knowledge? I'm not asking about integration into the VS tool I use, just wondering how far I could get before I run into a gate that would require me to generate code/script in Unity.

    Second question - is this system (I imagine) something similar to what Diablo has setup in the back-end - to manage all the random weapons and item drops? This is the thought I had from the details posted in the first post.

    Thanks for the additional information.
     
  7. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    That is strange the image is 1680x1010.

    This system is designed for users with little or no coding experience. I may not have been clear enough but all the things this extention does, does so without the user writing one line of code. Of course there will be certain methods and scripts you can call, like Spawn Item and Item.GetValue etc. The idea for this project was for people who dont code, so they can create and manage items and types within a fast and effecient database.

    To answer your second question, Yes. end user would not see the database or have any dealings with it it directly, unless they are modding XML files if you so choose to include those formats in your final build. When SpawnItem is called for example it creates an instance or a clone of the original item within the database, this is unique so you can change the properties of the item at runtime without modyifing the "Root" item within the database.

    Also as long as you keep accurate references between Prefab Data and your items it is possible to add items to your game when it is built, but that is something im refining a bit more.
     
    theANMATOR2b likes this.
  8. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    I am looking for a few people to test out the latest alpha version. If anyone is interested let me know.
     
  9. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    Updated overview with several images containing brief descriptions about each part.
     
  10. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    Added Poll to guage peoples opinion regarding final cost.
     
  11. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    Working on new UI and accessibility at runtime. Estimated release date will roughly be about 4 weeks from this post (Family and Work need me, hehe). Will keep this thread updated with new features/changes.
     
    theANMATOR2b likes this.
  12. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    Updated with video of item debug menu at runtime.
     
  13. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    Updated with first page of the Documentation.
     
  14. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    Thread updated with current changes.
     
  15. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    Just wanted to know what you guys think about these commands for the console at runtime. Wether they are straight forward and easy to understand or a bit convoluted and confusing.

    Database.XML.Import(DatabaseName)
    • Imports the specified database from XML format.

    Database.XML.Export(DatabaseName)
    • Exports the specified database to XML format.

    Database.BIN.Import(DatabaseName)
    • Imports the specified database from BIN format.

    Database.BIN.Export(DatabaseName)
    • Exports the specified database to BIN format.

    Database.ItemType.Create(Name,Description,Icon,String.Name,Float.Name,Int.Name)
    • Creates a new item type with the specified name, description, icon and property values. Property
    • values are defined by specifying the property type (String, Float and Int) then the name of the
    • property, separated with the “.” character.
    Database.ItemType.Remove(Name,True/False)
    • Removes the specified item type from the database. If True is entered it will remove all the
    • items with of the specified item type, if False is entered the items of the specified item type will
    • not be removed and remain unique instances of the removed item type.

    Database.Item.Create(Name,ITypeName,Description,PrefabName,MeshName,MatName,IconName)
    • Create a new item with the specified name, item type name, description, prefab name, mesh
    • name, material name and icon name.
    Database.Item.Remove(ItemName)
    • Remove the specified item from the database.
    Database.Item.SetPropertyValue(ItemName,PropertyName,Value)
    • Sets the specified property of the item given to the entered value.

    Database.ClearDatabase
    • Clears the database of all items and item types. Will ask for confirmation.

    Database.Print.Items
    • Prints all item names in the database in the console.
    Database.Print.ItemTypes
    • Prints all item type names in the database in the console.

    Database.SpawnItem(ItemName,Amount)
    • Spawns an item with the specified name into the scene 10 units in front of the main
    • camera. Specify amount to spawn multiple items.
     
  16. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    Added support for Asset Bundles automatically finds and gets all asset bundles from the specified URL, Items with asset from the bundles will automatically search for them.
     
  17. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    Heres a chart showing a bit more about how magic item works.

     
  18. FireBolt-Studios

    FireBolt-Studios

    Joined:
    Dec 29, 2012
    Posts:
    58
    Added the functionality to add to multiple item databases to allow for easy adding of item sets and even item types. Can remove specific databases as well. Can do this in editor and at runtime.