Announcement

Collapse
No announcement yet.

I want Feedback from Epic about Mono for Unreal Engine

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    I want Feedback from Epic about Mono for Unreal Engine

    Hi there,

    I posted a few posts here and there without success so I decided to start a new thread...

    As many of you already know Xamarin have been trying to bring C# to Unreal Engine via Mono, by exposing the Blueprint-exposed Unreal C++ code to C# (https://mono-ue.github.io/).

    Unlike the various attempts already made by the community to provide scripting capabilities this is a very serious project which also offers a lot of potential -- especially since the decision from Microsoft to open-source the .NET framework and to cooperate with the actors of the .NET foundation (including Xamarin) in order to democratize the use of .NET as a multi-platform development framework.

    As far as I know from reading the mailing-list of this project, the development stage is still experimental and is rather a proof-of-concept in order to convince the open-source community to contribute to it.

    More than anything I would like to hear any comment from Epic about this...

    Are you planning to support this project accordingly to its potential ? And if not, could you debate your decision ?

    We all know that if Unity still exists it is because many developers are not willing to leave their C# comfort zone -- C++ is really a no-go for many of us...

    At least, I would really like to see this feature added to the roadmap in order to expose it to a community vote, I'm sure you'll be surprised to see how many of us badly wish to script UE4 in C#.

    Regards, mat.

    PS: Please for those that are not from Epic, do not start a debate C++ vs C# here, this is not what this thread is about.
    Last edited by matmuze; 12-17-2014, 08:00 AM.

    #2
    Honestly, the usability of C++ in Unreal is top-notch. When I first started using Unreal, I was afraid of C++, but as I stared to use it I became comfortable with it very quickly. I really don't miss C# all that much. The only huge, real, tangible gripe I have is with compile times - I really do miss the 5-second compile for even large projects in unity. In Unreal, it's a minimum 20 seconds even with Hot Reload.

    I haven't had a chance to try the mono implementation because it supports older versions of Unreal and my projects all need 4.6+ features at this point, but it is very promising. The sub-second recompile is one thing I wanna get my hands on! But in the end, I feel like the project may end up just as buggy, if not more so, than blueprints so I might as well just use those. Though this is, of course, my own baseless conjecture.
    Procedural, modular, on-the-fly animation - iTween For UE4
    - Actors - Components - UMG - Ease In - Ease Out - Path-constrained Animation - $0

    Runtime Datatable
    -All the fun of DataTables dynamically loaded from text or Google Sheets while your game is running!

    Comment


      #3
      Originally posted by matmuze View Post
      Hi there,

      I posted a few posts here and there without success so I decided to start a new thread...

      As many of you already know Xamarin have been trying to bring C# to Unreal Engine via Mono, by exposing the Blueprint-exposed Unreal C++ code to C# (https://mono-ue.github.io/).

      Unlike the various attempts already made by the community to provide scripting capabilities this is a very serious project which also offers a lot of potential -- especially since the decision from Microsoft to open-source the .NET framework and to cooperate with the actors of the .NET foundation (including Xamarin) in order to democratize the use of .NET as a multi-platform development framework.

      As far as I know from reading the mailing-list of this project, the development stage is still experimental and is rather a proof-of-concept in order to convince the open-source community to contribute to it.

      More than anything I would like to hear any comment from Epic about this...

      Are you planning to support this project accordingly to its potential ? And if not, could you debate your decision ?

      We all know that if Unity still exists it is because many developers are not willing to leave their C# comfort zone -- C++ is really a no-go for many of us...

      At least, I would really like to see this feature added to the roadmap in order to expose it to a community vote, I'm sure you'll be surprised to see how many of us badly wish to script UE4 in C#.

      Regards, mat.

      PS: Please for those that are not from Epic, do not start a debate C++ vs C# here, this is not what this thread is about.
      This is a commercially-licensed product put out by another company. The most you will see from Epic is checking over pull requests to ease integration. Keep in mind, everything in UE4 was either developed by Epic themselves, or is freely available with good distribution terms. Mono is another product, much like FMod, Enlighten, Scaleform: you need to license it separately, and it is the responsibility of the plugin maker to provide support.

      Comment


        #4
        Originally posted by Jared Therriault View Post
        Honestly, the usability of C++ in Unreal is top-notch. When I first started using Unreal, I was afraid of C++, but as I stared to use it I became comfortable with it very quickly. I really don't miss C# all that much. The only huge, real, tangible gripe I have is with compile times - I really do miss the 5-second compile for even large projects in unity. In Unreal, it's a minimum 20 seconds even with Hot Reload.
        Come on guys, again, this is not the right thread for a debate C++ vs C#.

        Originally posted by Jared Therriault View Post
        I haven't had a chance to try the mono implementation because it supports older versions of Unreal and my projects all need 4.6+ features at this point, but it is very promising. The sub-second recompile is one thing I wanna get my hands on! But in the end, I feel like the project may end up just as buggy, if not more so, than blueprints so I might as well just use those. Though this is, of course, my own baseless conjecture.
        As I also precised in my previous post the current status of this tool is very experimental, and they clearly specify on the web page that Mono for Unreal Engine it is not mature enough to ship games.
        The problem is that they lack the man-power to develop the tool to a state of maturity, therefore I wish to see a tighter collaboration between Epic and Xamarin on this project, instead of having some kind of "Cold war" like with Unity and Xamarin.
        Last edited by matmuze; 12-17-2014, 01:27 PM.

        Comment


          #5
          Originally posted by RPotter View Post
          This is a commercially-licensed product put out by another company. The most you will see from Epic is checking over pull requests to ease integration. Keep in mind, everything in UE4 was either developed by Epic themselves, or is freely available with good distribution terms. Mono is another product, much like FMod, Enlighten, Scaleform: you need to license it separately, and it is the responsibility of the plugin maker to provide support.
          I get your point, and I am aware of those licensing limitations, however many people might actually be okay with those terms...

          I also reckon that this would profit to a third party company, but this is also the case for Unity right ? As far as I know those guys profited A LOT from this fruitful collaboration with Xamarin...

          Furthermore you cannot simply compare C# scripting with FMod, Enlighten, Scaleform, since they do not usually represent a "deal-breakers" functionality -- I am very much convinced that I am not the only one craving for this feature...

          However, if Epic is not willing to help a 3rd party company to develop this product and at the same time leverage the usability of their engine, then they are making a big mistake in my opinion and that is clearly a spit in the face of those thousands of modest coders that would like to grab their hands on this engine.
          Last edited by matmuze; 12-17-2014, 01:31 PM.

          Comment


            #6
            Originally posted by matmuze View Post
            I get your point, and I am aware of those licensing limitations, however many people might actually be okay with those terms...

            I also reckon that this would profit to a third party company, but this is also the case for Unity right ? As far as I know those guys profited A LOT from this fruitful collaboration with Xamarin...

            Furthermore you cannot simply compare C# scripting with FMod, Enlighten, Scaleform, since they do not usually represent a "deal-breakers" functionality -- I am very much convinced that I am not the only one craving for this feature...

            However, if Epic is not willing to help a 3rd party company to develop this product and at the same time leverage the usability of their engine, then they are making a big mistake in my opinion and that is clearly a spit in the face of those thousands of modest coders that would like to grab their hand on this engine.
            First: Unity really doesn't collaborate with Xamarin, they collaborated with Novell. Hence the reason why the Mono runtime in Unity hasn't been updated since Xamarin took Mono over after Novell was purchased. And they paid quite a bit of money for it.

            Secondly: I would call the current in engine Audio solution for UE4 to be at least as much of a deal breaker as C# support.

            Thirdly: It's up to Xamarin to make arrangements with Epic if they want direct support, but they haven't even decided whether or not they want to take this product to market, so the investment isn't worth it.

            Fourthly: C# is not the only option for people who want fast iteration, as there is experimental Lua support (which was built by Epic), as well as SkookumScript. Why would Epic offer preferential treatment to Xamarin, unless Xamarin was offering good value to the community? (Indie-friendly rates being the primary)

            Comment


              #7
              Are you planning to support this project accordingly to its potential ? And if not, could you debate your decision ?
              Unreal uses industry a standard fast programming language that is C++, like SnowDrop engine.
              This is why C# is considered as some secondary language that is not supported by Epic directly.

              Comment


                #8
                Originally posted by Galeon View Post
                Unreal uses industry a standard fast programming language that is C++, like SnowDrop engine.
                This is why C# is considered as some secondary language that is not supported by Epic directly.
                What you call industry standard is a completely non-objective remark, which might be true for AAA games, but completely wrong for mobile, web or indie games.

                As a matter of fact Epic did implement the blueprints, which is also not an industry standard as you may call it.

                Now I guess that Unreal Engine is trying to build a universal game engine which could target every kind of games (espacially indie-devs) and therefore it would make also sense to adapt the usability accordingly.

                We are falling into this silly debate once again... if you think that only C++ is used in game-dev fine, that is good for you, and I disagree, but please let's discuss this in some other thread.

                What I want is to hear is Epic's point of view, as one of their client I would like to see this feature added to the roadmap.

                Once it would be in the roadmap, we could finally let the community decide if this feature is really wanted or not via a democratic vote.
                Last edited by matmuze; 12-17-2014, 03:45 PM.

                Comment


                  #9
                  Wasn't really trying to spark a debate, I love C# and would love to see it in Unreal. I was just offering a little info for C# veterans who may be browsing this thread and are unsure about jumping into C++. I feel it's relevant.
                  Procedural, modular, on-the-fly animation - iTween For UE4
                  - Actors - Components - UMG - Ease In - Ease Out - Path-constrained Animation - $0

                  Runtime Datatable
                  -All the fun of DataTables dynamically loaded from text or Google Sheets while your game is running!

                  Comment


                    #10
                    Originally posted by RPotter View Post
                    First: Unity really doesn't collaborate with Xamarin, they collaborated with Novell. Hence the reason why the Mono runtime in Unity hasn't been updated since Xamarin took Mono over after Novell was purchased. And they paid quite a bit of money for it.

                    Secondly: I would call the current in engine Audio solution for UE4 to be at least as much of a deal breaker as C# support.

                    Thirdly: It's up to Xamarin to make arrangements with Epic if they want direct support, but they haven't even decided whether or not they want to take this product to market, so the investment isn't worth it.

                    Fourthly: C# is not the only option for people who want fast iteration, as there is experimental Lua support (which was built by Epic), as well as SkookumScript. Why would Epic offer preferential treatment to Xamarin, unless Xamarin was offering good value to the community? (Indie-friendly rates being the primary)
                    I was not aware of how did the collaboration go for Unity, thank you for pointing this out.

                    The Lua plugin is not longer supported by Epic btw... I'll have a look at this SkookumScript though looks interesting, although I doubt people would prefer this over C#/.NET...

                    Comment


                      #11
                      Mate I dont wanna seem as troll but people who wants to use C# over C++, please just leave and use Unity.
                      Unreal is designed for top class AAA games mainly, indie developers is not on top priority take it or not.
                      Last edited by caner_ozdemir; 12-17-2014, 04:26 PM.
                      https://canerozdemirportfolio.wordpress.com

                      Comment


                        #12
                        Originally posted by matmuze View Post
                        The Lua plugin is not longer supported by Epic btw...
                        It is supported, in a "if it is broken, bug it and we'll try and fix it", but features are backlogged right now. It could be picked up by the community and taken the last mile, however, and Lua's runtime source license is very flexible (as is LuaJit, a better runtime for games).

                        Comment


                          #13
                          Originally posted by caner_ozdemir View Post
                          Mate I dont wanna seem as troll but people who wants to use C# over C++, please just leave and use Unity.
                          Unreal is designed for top class AAA games mainly, indie developers is not on top priority take it or not.
                          Please let's not start this kind of thing. We don't want to foster that kind of exclusionary behavior here.

                          Comment


                            #14
                            As a matter of fact Epic did implement the blueprints, which is also not an industry standard as you may call it.
                            It's a similar system adopted in SnowDrop engine to allow 3D artists to add gameplay to their 3D models without knowing a programming language.

                            Comment


                              #15
                              lol, you are persistant, I'll give ya that

                              but to start a debate over C#, because that's exactly what this is, then say you don't want a debate?

                              I don't care if I ever see C# again, it wasn't bad, but it sure isn't good either, it's nothing but a subset of C++ in my opinion and will be nothing else, heck I think plain C is better.
                              I don't want to take another hit to performance, I can deal with the scripting hit from BPs but another, no thank you.
                              I don't ever want to see C# in Unreal Engine unless it's a plugin to access Windows Phone, and that's it.

                              BP is a scripting language, have you tried it? you can make your own BPs, anyone can. you should try it because in the time it takes you to 'debate' this subject you could already be using C++.
                              you don't have to use C++ at all if you don't want to, Unreal has exposed & are exposing more & more to BPs every day.

                              But can you tell me that 'those Other Guys' don't use C or C++ for their actual engine and expose all of this to you as a user like Unreal does, check this out puppy:
                              "The Unity runtime is written in C/C++. This runtime is used in any build you create using the editor - for webplayers and plugins it is installed separate from your build, whereas it is included in it for stand-alones and other platforms such as iPhone and Wii.

                              The editor is built on the Unity runtime and additionally includes editor-specific C/C++ binaries.
                              Wrapped around the Unity core is a layer which allows for .net access to core functionality. This layer is used for user scripting and for most of the editor UI."

                              Unreal Engine 4 has exposed it's engine to you if you need it, and a strong API that allows access to it as well. On top it has BPs which is really more powerful than they can even imagine.
                              if I, lol woops WE keep pushing them in the right direction. (yes, a lil' world domination coming through there)

                              K, enough of this, simple solution is you need to watch for a Twitch stream that has someone involved with the engine & ask your questions, like everyone else does.
                              (if they can't answer then they can probably find someone who can, and give you a reasonable response)
                              So if you have concerns or questions that bother you this much, take the time to ask on twitch, if you can't make the Twitch ask in the twitch announcement post & watch the Twitch later when it's posted on YouTube.

                              Again... completely against the idea, I hated being forced to try to use C# & .Net when I had to and I don't want to ever see it again.
                              (you can't even do the simplest things in C# sometimes, C++ has stayed this long for a reason)
                              Last edited by ayretek; 12-18-2014, 04:50 AM.

                              Comment

                              Working...
                              X