Search Unity

[Now Released] uMod 2.0 - Modding support made easy

Discussion in 'Works In Progress - Archive' started by scottyboy805, Feb 18, 2016.

  1. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    I have not been able to replicate the issue in 5.4.0 using the latest version. The settings seem to sync correctly if I have the settings window and the setting asset side by side. The only thing I have observed is that if the settings asset is changed, the settings window needs to be re-opened to reflect that change. Is this what you meant?
     
  2. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    It should be a case of putting the scene and all its associated assets into a folder and then selecting that folder for export. This is the exact approach we used during testing to export the Unity viking demo scene.

    Edit: I see from your screenshot that you are getting an exception when linking the 'electricalBox_C' prefab. Is there anything different about this prefab?
     
    Last edited: Jul 31, 2016
  3. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    I think we may be talking about different things...When you say 'ModDirectory' do you mean the Mod directory folder managed by uMod or the Mod asset directory that is selected for export in the exporter. The exporter folder can contain any number of sub folders.
     
  4. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    >I have not been able to replicate the issue in 5.4.0 using the latest version. The settings seem to sync correctly if I have the settings window and the setting asset side by side. The only thing I have observed is that if the settings asset is changed, the settings window needs to be re-opened to reflect that change. Is this what you meant?
    No, in my case I`ve used only settings UI, and I am not able to uncheck that option, save and get it unckecked after restart of editor
     
  5. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    >I think we may be talking about different things...When you say 'ModDirectory' do you mean the Mod directory folder managed by uMod or the Mod asset directory that is selected for export in the exporter. The exporter folder can contain any number of sub folders.
    Yes, I am talking about folder which is used to buld content for mod data files.
     
  6. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    > I see from your screenshot that you are getting an exception when linking the 'electricalBox_C' prefab. Is there anything different about this prefab?
    No, it is absolutely similar to electricalBox_A and electricalBox_B

     
  7. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    I can see the problem now.
     
  8. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    My mistake. It looks like electricalBox_C is linked correctly and the next asset to be linked is failing which would be lamp_A.
     
  9. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    Thanks for that video. I can recreate the bug now and am looking for the problem
     
  10. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    seems it contains some junk after first attempt of building mod
     
  11. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    Yes the linkbehaviour script is causing the error. The link behaviour script and the mod identity script have replaced the original script. You will need to restore the project from the temp location to get these scripts back. This is caused by the cleanup routine failing which we are looking into.
     
  12. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    New uMod and exporter version released:

    -Fixed the issue with the settings window always loading default values after an editor restart
    -The cleanup procedure should not fail when trying to cleanup its working directories
    -Warnings about scripts not being included in the export have been downgraded to messages.
    -Fixed the example scripts that called Application.persistentDataPath from the constructor
    -Added an example scene that allows you to quickly load mods without the need for a scripts. Simply open the scene, run the game and enter the mod directory and name.
     
    Last edited: Aug 1, 2016
  13. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    it is better than before, now I can export my scene and setting now restore values correctly
    but during exporting of the scene I didn`t get log message that export was successfull and scripts behaviour looks strange (see both videos)


     
  14. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    Thanks for the videos, they are a great help to understanding the problem.

    For the first video it looks like the build has finished but the exporter window is not notified. Are you able to load this mod? It looks like you never get the Build Successful message. Have you ever received it or did it change in this version?
    For the second video i notice that the blink frequency match before and after export. Does anything happen if you modify the blink frequency while the mod is running. It also looks like you get a few warnings in the console. Do they seem related to the issues? It looks like the fan script couldn't be linked for some reason, are all the scripts inside the mod data folder?

    Edit: I can see that all scripts are in the mod data folder

    I can see that the fan object does not have a ModIdentity script attached to it so it looks like an error during export. Are there any linker warnings when exporting that scene?
     
  15. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    First video is acutally about exporting mod for second video, in real life there was a few seconds delay (to save first video) between that videos, so ...

    >Are you able to load this mod?
    Yes, you can see this in video 2

    >Have you ever received it or did it change in this version?
    I had it before, it is only in latest verion
     
  16. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    >. It also looks like you get a few warnings in the console. Do they seem related to the issues?
    yes, their are:
    The referenced script on this Behaviour is missing!
    The referenced script on this Behaviour (Game Object 'fan_A') is missing!

    >Does anything happen if you modify the blink frequency while the mod is running
    How can I modify frequency if behaviour is missing?
     
  17. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    How it can happen, that SpinningCube.cs is ignored if ".csproj" file contains it?

     
  18. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    Ok I will have to look into that.
     
  19. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    Are there no other warnings such as 'Failed to link mod type'

    In the video the light script is attached correctly, its just the fan script that fails to load. There are also a lot of errors about lightmapping. If you re-bake the light maps is there any change?
     
  20. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    That is strange. Are you sure you have the correct assembly selected because all scripts should fail to load if there is no ModScriptBehaviour in the mod, and it looks like at least 1 script has loaded successfully
     
  21. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    >Are there no other warnings such as 'Failed to link mod type'
    nope

    >There are also a lot of errors about lightmapping.
    Seems exporter can`t export files of type "*.asset"

    >Are you sure you have the correct assembly selected
    yes, I am sure, I had only one DLL file there, I am deleting them all the time, BTW maybe when creating DLL you can delete previous? =)
     
  22. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    Maybe that could be the problem, I will have a look about exporting light maps also.

    OK, I don't know why the script is not included in the assembly. The exporter will read the project file and also the mod data folder for all scripts before it compiles. It looks like some scripts from the assembly are loaded though which leads me to think that maybe Unity isn't showing the script for some reason.

    Yes I will remove the assemblies after the build.
     
    Last edited: Aug 2, 2016
  23. mm_ASH

    mm_ASH

    Joined:
    Nov 15, 2013
    Posts:
    358
    Another attempth to export something (this time it was Voxeland)

    And all the time I am getting this error + successful build not reflected in console log, but as you can see in exporter window it was ok.

    And when I am trying to load this mod:

    Maybe it is a good time to give me sources so I can help you to fix some errors? ;)
     
    Last edited: Aug 5, 2016
  24. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    Sorry for not responding. I had to go away for a couple of days unexpectedly.

    I believe I have fixed this error already. It will be uploaded soon.

    This is a known error and is harmless at the minute. I will however make sure it is fixed.

    It looks like the build failed to generate the default scene, which can only happen if the scene is not exported correctly. Is this the mod that was exported in the first screenshot? if so then it makes sense.
     
  25. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    New uMod and exporter version released:

    -Assemblies compiled by the exporter are now removed during the cleanup stage.
    -Fixed a UI error that caused a null reference exception during repaint
    -Fixed a UI error where the compiling spinner would move off screen
    -Fixed a bug that would prevent scene linking from completing
    -Added a log level setting to the uMod settings
    -A few other minor changes

    Ongoing issues:
    -Lightmaps are not included - requires additional special treatment during export
    -Compile can get stuck forever, and as a result you are unable to build again without restarting the editor - At the minute this bug seems to be completely random and we have not been able to recreate it consistently. We have noticed that it seems to happen after a package update and are looking into it.
    -Build Successful not displayed - We are not yet able to re-create the issue. There does however seem to be a long pause before the message is shown that wasn't apparent in earlier versions.

    If anyone is able to recreate any of the problems above consistently then we would very much appreciate it if you could provide a small project that exhibits the behavior.
     
  26. Sjiggle

    Sjiggle

    Joined:
    Sep 12, 2012
    Posts:
    10
    Any update on the security IO issue?
     
  27. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    Due to the limitations of Unity we cannot offer the full security we would like where all modded code would run in a restricted app domain. (Maybe this will change when Unity updates the mono runtime). The only thing we are able to do at the moment is to detect any assembly of namespace references that are marked as excluded by the developer. System.IO and System.Refleciton are good candidates. If any of these references are found when loading the mod then the developer can choose to either not load the mod at all, or not load the offending scripts.

    At the minute these features are not finished and are set for release in version 2.1.0
     
  28. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    New uMod and exporter version released:

    -Script linking has been improved and is now more reliable. Support for complex linking will also be added soon (C# classes, arrays etc.)
    -Every mod object now has a unique identifier in preparations for new features.
    -Fixed a bug where the default mod scene would fail to load when a mod is loaded.
    -A few other minor changes

     
  29. Lawless-Flogic

    Lawless-Flogic

    Joined:
    Oct 30, 2012
    Posts:
    31
    This looks really good! I am considering the advantages of letting users create maps, enemies, guns etc for my game, this looks very promising. Is there an ETA on when a production ready version will ship?
     
  30. Stormy102

    Stormy102

    Joined:
    Jan 17, 2014
    Posts:
    495
    It'll probably be in beta for a few months, but @scottyboy805 is working pretty damn hard on it.
     
  31. Weird-Beard-Guy

    Weird-Beard-Guy

    Joined:
    Nov 10, 2013
    Posts:
    26
    Ok so I was seearching for such a solution - are there any games that use your assets? Would love to see it in motion
     
  32. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    There is no solid date set yet but as @Stormy102 says, it will probably be a month or two before it is released. We would prefer to take our time and get it right rather than rush.
     
    Stormy102 likes this.
  33. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    I am not aware of any released games that currently use uMod however it has not been around that long. Hopefully this will change with the release of version 2.0
     
    Weird-Beard-Guy likes this.
  34. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    New uMod and exporter version released:

    -Included a basic wizard with the exporter for creating new mods. Simply specify a mod name and a mod directory is created and the export settings are updated.
    -Enabled shared assets for mods. (Mods can access game prefabs and materials. Support for other asset types may be added at a later date).
    -Added shared assets settings to the uMod settings window.
    -Added a shared assets editor window accessible from the uMod settings window. (Allows the developer to specify which assets are shared, if any).
    -A few minor changes in preparation for new features.
    -A few small bug fixes, nothing major.

     
  35. Elzean

    Elzean

    Joined:
    Nov 25, 2011
    Posts:
    584
    Looks good. The support for steamworks would probably be a buy for me, I know its on your roadmap but it feels like a pretty important feature for modding on PC and since modding is mostly popular on PC, well .... :p
     
    Stormy102 likes this.
  36. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    Steam support has been requested quite a lot so we will probably make it a higher priority once were out of beta.
     
    Stormy102 likes this.
  37. Stormy102

    Stormy102

    Joined:
    Jan 17, 2014
    Posts:
    495
    Hopefully my scripts will hopefully make deciphering Steamworks' Workshop a little easier. Remember that you need Steamworks .net for this by Riley Labrecque
     
  38. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    Thanks @Stormy102, Those scripts will no doubt be a big help to add steam workshop integration. I have already had a quick look through them and it doesn't look too bad to integrate so hopefully steam will be supported in uMod soon.
     
  39. Stormy102

    Stormy102

    Joined:
    Jan 17, 2014
    Posts:
    495
    Yeah... You'd think that Steam would be harder to integrate.
     
  40. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    New uMod and exporter version released:

    -Added linker support for non-unity types (Serializable classes)
    -Added linker support for arrays of any element type.
    -Added support for loading mod assets from the game.
    -Updated the scripting reference
    -Updated the documentation

     
    Stormy102 likes this.
  41. Stormy102

    Stormy102

    Joined:
    Jan 17, 2014
    Posts:
    495
    @scottyboy805 I'm curious, if we participate in the beta, do we get the end product for free or at a reduced price? Feel free to PM me the result, just curious ;)
     
    scottyboy805 likes this.
  42. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    Unfortunately no. We would like to offer an incentive for beta testing however the resources spent implementing an account system to keep track of participants would be best spent elsewhere. It is probably better to think of it as an early access approach where you can try the features, see how it can be integrated and such to see if the product would be something you might purchase when it is released.

    Of course anyone upgrading from uMod 1.0 will be able to do so for free.
     
  43. Stormy102

    Stormy102

    Joined:
    Jan 17, 2014
    Posts:
    495
    Will it be more expensive with uMod 2.0? Or the same price? Within the same asset or as a separate asset? Sorry for all the questions, just curious ;)
     
  44. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    The price will likely be similar but we have not made a final decision yet. We plan to release uMod 2.0 as a separate asset and will eventually depreciate uMod 1.0 since it will become obsolete. Don't worry about asking questions, I'm more than happy to answer them :).
     
    Stormy102 likes this.
  45. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    New uMod and exporter version released:

    -Fixed a bug in the exporter that prevented the last open scene from reloading successfully
    -Fixed a bug in the exporter where the settings window would open when a build is started even though all required fields contain valid information.
    -Mod hosts will no longer throw exceptions while attempting to load a mods default scene.
    -Error messages about missing or out of sync mono projects are now more detailed and provide information on how to fix the problem.
    Script compilation now support compilation define symbols and by default uses all define symbols specified in the Unity editor.
    -Added custom yield instructions for mod loading and mod asset loading. Allows mod loading to be done in co-routines in a similar way to the WWW class.
    -Re-categorized all namespaces. All uMod types are now under the master 'UMod' namespace.



    We have also identified the cause of the dreaded script compile freeze when exporting. The problem is actually a bug in the mono framework which is the worst case scenario because we cannot update to a patched mono version. The bug is detailed here. We are currently looking at alternative compiler options but at the moment the only way to fix the problem is restarting Unity :( Hopefully we will have an alternative soon.
     
  46. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    New uMod and exporter version released:

    -We have found a solution to the compiler freeze issue we were having. You will no longer have to restart unity as a result of stuck compile stage.
    -Fixed a bug where the build would complete but not report the result to the user.
    -Fixed a few small bugs in the mod to game scripting communication.
    -Input fields of the settings UI's will no longer be cleared if an open file/folder dialog is cancelled.
    -Build times are now slightly quicker due to changes in the script compilation stage.
    -The exporter will now prevent you exporting the top level 'Assets' folder as it results in cyclic dependencies and failure.
    -Many other smaller fixes.
    -Updated the scripting reference.

     
  47. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    New uMod and exporter version released:

    -Fixed a major bug where all prefabs exported into mod format would lose their serialized values.
    -Added support for mod host recycling. If there is a mod host that is not currently managing a mod then it may be reclaimed and re-used when issuing a mod load request.
    -A few other bug fixes

    We have also been working on creating demos and documentation in preparation for release. As soon as these are completed then we will begin the process of building a release version and submitting to the asset store.

     
  48. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    After a long development period we are pleased to announce that uMod 2.0 has now been submitted to the asset store for review. We expect that it will take upwards of two weeks for the verification process due to the Christmas rush so in the meantime the beta will remain open.

    We will be starting a new asset thread soon which will take over from this thread and will be used for announcements, feedback and questions. I will post an update when the new thread is created.

    For customers who have previously purchased UMod 1.0 you will receive a free upgrade to uMod 2.0. We are still trying to find the best and easiest way that you can upgrade and we will post in this thread when we have decided how the upgrade will be done. UMod 1.0 will also be depreciated however we will leave an overlap period when both packages are active.

     
    _met44 and Stormy102 like this.
  49. scottyboy805

    scottyboy805

    Joined:
    Apr 10, 2013
    Posts:
    1,193
    The verification process took longer than expected due to the holidays however uMod 2.0 is now available in the asset store.

    We have opened a new thread in the Asset Store section which can be found here where all future updates will be posted.

    The open beta has now been closed and we would like to thank everyone that took part. We have had a lot of constructive feedback that has helped us to improve uMod 2.0.
     
  50. KeyC0de

    KeyC0de

    Joined:
    Feb 11, 2018
    Posts:
    1
    So does this tool support DirectX 11?