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. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Best Practices Question: When Asset contains another Asset

Discussion in 'Assets and Asset Store' started by CyberBotX-CBX, May 20, 2015.

  1. CyberBotX-CBX

    CyberBotX-CBX

    Joined:
    Nov 23, 2013
    Posts:
    3
    At the moment, this is a purely hypothetical situation that I would like to know the best practices for.

    As an example: Say I have an asset, we'll call it "Asset A", which contains a DLL library meant to be used by others. Now say I have another asset, we'll call it "Asset B", and it utilizes the library from "Asset A".

    As far as putting them on the Asset Store goes, what would be the best practice:
    1. Having Asset B contain Asset A's contents and making it a price higher than Asset A's price to cover that and offering a refund to people who buy both (or who buy Asset A first then buy Asset B later).
    2. Having Asset B not contain Asset A's contents but making it well known that it requires Asset A as well.
    3. Having two versions of Asset B on the store, covering both #1 and #2.
    I've yet to actually submit anything to the Asset Store myself, but I am looking to do so soon, and would like to know about this before I get around to submitting to the store.
     
  2. wkwan

    wkwan

    Joined:
    Sep 14, 2014
    Posts:
    27
    I would like to know this as well. But I think there is a 4th option, where you could have Asset B contain Asset A but hide the methods and variables of Asset A.
     
  3. CyberBotX-CBX

    CyberBotX-CBX

    Joined:
    Nov 23, 2013
    Posts:
    3
    I wanted to see if anyone else has an answer to this.

    As for your suggestion, wkwan, I think that your option 4 would more of a headache if Asset B is utilizing the library of Asset A, as I would need to make a version of Asset A specifically for Asset B that doesn't share a namespace (to avoid conflicts) and uses different filenames for Asset A's library/libraries (also to avoid conflicts).

    So basically, I feel that it would be best if Asset A wasn't modified for inclusion with Asset B, if going down that route. But the question still stands as to finding out what is the best practice for doing something like this.