Search Unity

Modding Support: Allow free edition to export asset bundles

Discussion in 'Wish List' started by Neutron, Nov 8, 2011.

  1. Neutron

    Neutron

    Joined:
    Apr 25, 2011
    Posts:
    45
    Modding is very popular for PC games, and any game that doesn't allow it is going to be criticized for it, and in some genres such as strategy this could be a major minus point for the game. Currently the inability to allow modding is one of the major downsides to using Unity.

    However, with it's ability to import content from a wide range of sources, Unity could be a boon to modders. My proposal is to allow the free edition to export asset bundles. A game that wanted to support modding would supply modders a script to export asset bundles, and would read them to allow modders to supplement or replace the original content.

    The ability to use asset bundles could be kept as a premium feature by only allowing programs created by the pro edition to read them.
     
  2. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    You can't do modding with asset bundles for a plentitude of reasons, including the collisions you would get from 2x same asset in different bundles, not being able to add code etc etc

    if you want to add modding you have to do it through own code loading the files and handling them.
     
  3. TehWut

    TehWut

    Joined:
    Jun 18, 2011
    Posts:
    1,577
    I would like this, whether possible or not.
     
  4. polytropoi

    polytropoi

    Joined:
    Aug 16, 2006
    Posts:
    681
  5. Neutron

    Neutron

    Joined:
    Apr 25, 2011
    Posts:
    45
    Well any modding system has to handle replacement of assets, look at what's in the bundle and decide what to load. As for adding code it's is hardly necessary, though there is no reason why an asset bundles shouldn't contain files for a game's internal scripting language.

    I could of course write file importers for every type of asset, but the point of using Unity is not to have to write all this stuff, particularly when UT has written it already. The only issue is that potential modders are likely to be put off by having to spend $1500 to buy a Unity Pro license.
     
  6. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    you don't need to write a importer for every type of asset only for a single one, that are models.
    the rest can be loaded with WWW directly :)


    And yeah modders are put off when they have to pay $1500 but you realize that offering modding capability is YOUR job not UTs, its your game they mod, not the unity engine. If you rely on them offering asset bundles for this you won't achieve modding cause loading assets is trivial (an X format loader takes 2-3 days at maximum due to its chunk based structure for example) compared to the other problems you will have to solve like meaningfull, flexible but 'non breaking' scripting support for them which takes weeks and things like this.
    Other engines don't offer modding capabilities either, that was work the devs did afterwards to add it and thats no different here.

    also there are simple practical reasons why AssetBundles are not even suited for this like their version bound nature ... if you update your game they all have to update their asset bundles too or they simply no longer work, independent on if they wanted to update unity or not, thats a problem you don't have with an own object loader and loading the rest through WWW
     
    Last edited: Nov 11, 2011
  7. Neutron

    Neutron

    Joined:
    Apr 25, 2011
    Posts:
    45
    I'm well aware of what it'll require on my side to support modders, and I'd rather that writing importers for models and animations wasn't part of it. X files for instance have a number of different options that a modder would need to get right, even they're using a modeling package that conveniently exports them. It would be much easier for them to be able to use one of the many programs supported by Unity, and so see their model rendering correctly in the editor. They could then simply use a supplied script and press an "Export my mod" button and get it wrapped up neatly in a single file.

    Since this request only requires UT to unlock an existing capability, I imagine it'll take them less effort than it'll take me to write importers, and is thus a net win for humanity.

    Your point about the versioning issue is a good one, but one hopes that UT will address this annoyance before too long anyway.
     
  8. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    the version binding was added on 3.4 finally to overcome the strange problems that you had before, it is nothing that will need addressing on their side but devs that finally follow development basics as harsh as that sounds (dev basics means: you don't switch engine versions during development unless you want to port it. any switch of version normally is expected to yield regression and problems)

    And yes it is much more work for UT, cause UT would expose a Pro only feature to non pro. Makes no sense, removes an incentive to get pro you know ...

    Also, as mentioned, there are importers already so its a 0 effort for you too.

    but well, think what you want, but if you think a single format importer is too much work to get your modders going, you will not have modding support ever anyway as modding on its own will be on a similar scale effort wise as the rest of your game if not more (editors, scripting etc ... loading and storing data is a trivial nothing compared to it)
     
  9. Neutron

    Neutron

    Joined:
    Apr 25, 2011
    Posts:
    45
    Maybe graphics formats are your specialty, and you thus you regard writing one as trivial. Personally I don't (and I've been a professional games programmer for many many years), and I'm fairly sure many others wouldn't either, bearing in mind that it needs to be robust, and not just "hey it works on my test cube example".

    Anyway, being able to export asset bundles without being able to import them (happy for this to remain a pro feature) is not really very useful so UT wouldn't be giving up much.
     
  10. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Trust me, its really simple :)
    Graphics formats aren't my speciality, I've never went further than those 'you can simply parse out without magic' and the X format is such a one cause its a chunk based format which means that it has a block for vertices, block for uv, block for normal, block for materials, block for triangle indices, block for bones, block for bone transformations for the animations, ... sounds familiar, doesn't it? ;)

    it wouldn't be very meaningful.
    If you ever worked with asset bundles on a real scale you know why even if UT offered it you couldn't use it for your case