Announcement

Collapse
No announcement yet.

MonoUE - C# and F# for UE4

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

  • When can we expect hot reload so that i could start developing with this awesomeness.

    Comment


    • I can't import external dll's . (Trying to import Json.Net)
      It saying 'Dll does not support framework 'MonoUE,Version=v1.0'
      Is there any workaround?
      ihavenick.net | Free, simple tutorials and news.
      atacetin.net | My portfolio page

      Comment


      • Hi, guys,

        I've been waiting for (better/reliable/official)C# support for UE4 for a long time since Xamarin announced it back in 2014. The news that it's finally available made me so excited and I've been following this thread every day for the update. Unfortunately, this project is not still ready for a production. I’m eagerly waiting for VS support (hot-reloading and debugging) so that at least I can start testing while waiting for other feature. However, the lack of updates makes me worried that it will become a dead project. I would like to make this petition to both Microsoft and Epic Games to support more officially, or at least allocate some more resources.

        I think many of us agree that C++ provides you the performant code but coding C++ is clunky and unproductive quite a bit compared to C#. There is Blueprint but it can get quite messy and unmanageable when a project becomes large. I try to avoid Blueprint whenever possible. But we now have C#. I believe C# strikes the right balance between the performance and productivity. It is the perfect option while developing and we can easily port the portion of the code to C++ at the final stage if we want performance.

        Having said that, I don’t really understand why Epic games does not make C# support official, likewise, the same for Microsoft where they support Unity officially. I really appreciate that Mikayla pulled this through pretty much single handedly. She is doing wonderful job and she is the reason why we are all here but it will require much more help. This will be a Holi grail for the many and existing Unity/C# developers will find a good reason to move over to UE4. What is my opinion on Unity? Unity without AssetStore is basically the same Unity 10 years ago (Editor-wise). Some basic functionality such as adjusting editor camera speed is still missing (this is just one of the many basic and simple functionalities and I’m not sure why they don’t want to improve the editor). I even heard that it is their philosophy to encourage users to write a plugins to enhance the editor. And doing this themselves will disrupt the ecosystem. Whether true or not, the end result is that the editors has been the same for many years with many basic features are still missing and I don’t think they will change anytime soon. I’m not very happy with Unity and want to solely focus in UE4 for the future project given UE4 gets C# support.
        I believe I’m not the only one who feels this way I really hope someone at Epic Game and Microsoft will read this and this project gets more support from them and this project finally become successful.

        Cheers!
        Last edited by ChrisK; 08-26-2017, 03:48 PM.

        Comment


        • Really looking forward to the hot reload function,As a beginner from unity to UE4,
          I need to be familiar with api, try constantly, but C ++ each time the compiler time is too long affect my learning experience,
          Until I saw the mono-ue, in the UE4 can use C # language programming is really good.
          Thanks to the mono-ue developers!

          Comment


          • Originally posted by ihavenick View Post
            I can't import external dll's . (Trying to import Json.Net)
            It saying 'Dll does not support framework 'MonoUE,Version=v1.0'
            Is there any workaround?
            Which version of JSON.NET are you referencing - the netstandard one?
            MonoUE | Twitter | GitHub

            Comment


            • Originally posted by mhutch View Post

              Which version of JSON.NET are you referencing - the netstandard one?
              Ohh. Thank you. I relized my mistake. I was tried to download from Nuget.

              Then tried to add netstandard 1.3 both give me that error but now i tried "netstandard 1.0" now it doesn't give me error.
              Last edited by ihavenick; 08-30-2017, 07:35 AM.
              ihavenick.net | Free, simple tutorials and news.
              atacetin.net | My portfolio page

              Comment


              • Originally posted by mhutch View Post

                Which version of JSON.NET are you referencing - the netstandard one?

                I am trying to make simple login system but UnrealEngine crashing with this simple code.
                https://pastebin.com/i5BuybZf
                And i can't see why it crashes. It doesn't even shows in log.

                Inheriting from UserWidget is not posible ?
                ihavenick.net | Free, simple tutorials and news.
                atacetin.net | My portfolio page

                Comment


                • Would it be fair to say that this only works with the core UE4 functionality, and NOT with plugins purchased from the Marketplace?

                  Comment


                  • Hi, Guys, I still visit once a day to see if there are any changes. It is becoming increasingly unbearable after waiting for C# plugin for a while. Perhaps I would like to direct this question directly to Mikayla since there aren't any active developers yet. Mikayla, I'm very aware of that this is your pet project but I really would like it to take-off. I'm really certain that it will take-off once it is more useable state. I think dynamic reloading is must have feature in order people to start testing and make it as UE4 plugin necessary to gain more popularity. Could you please help us to get there? And I believe someone who can help you will show up once it becomes more usable and visible. And if there are reason why it's is difficult to do, could you please share it with us so that we don't blindly wait for it? I think I must look for some other opportunities if it not likely to happen. Thank you very much as always. Cheers!

                    Comment


                    • Originally posted by Dijon View Post
                      Would it be fair to say that this only works with the core UE4 functionality, and NOT with plugins purchased from the Marketplace?
                      In practice, yes. There's no reason it shouldn't be compatible eventually but the workflows to build bindings for binary plugins don't currently exist.
                      MonoUE | Twitter | GitHub

                      Comment


                      • Originally posted by ChrisK View Post
                        Mikayla, I'm very aware of that this is your pet project but I really would like it to take-off. I'm really certain that it will take-off once it is more useable state. I think dynamic reloading is must have feature in order people to start testing and make it as UE4 plugin necessary to gain more popularity. Could you please help us to get there?
                        This is what I'm working on! The limiting factor is that it's a free time project for me, and I've been busy with a lot of other things lately, both at work and at home.

                        One of those things is building a new 16-core PC so that I can compile UE4 faster, though
                        MonoUE | Twitter | GitHub

                        Comment


                        • Hi, Mikayla, thanks for the update. I really hope that it moves along soon. Yeah I saw your rig. It looks super AWESOME!! You can crank it up to the max horsepower and compiliing c++ code will be more like compiling c# code. But I bet it will still be a lot slower due the linking. I also bought a dual E5 CPU with 28 cores (56 threads) in preparation of the serious work. The compiling goes a lot faster but for any small changes requries linking and it is still painful to wait each time. BTW, will C# hot-reloading support runtime hot-reloading? Runtime hot-reloadin is advertised on old Xamarin UE4 page and I suppose it's still possible (except in some situations that requres re-serialization). UE4 c++ supports hot-reload but it requires a game restart. C# runtime hot-reloading is really what I'm looking for and it will be a huge time saver especially when you are debugging netcode. In developing a network game, it's really painful to launch the server and a couple of clients to just test simple stuff. Anyway, thanks again and I'm really looking forward some great news. Cheers!

                          Comment


                          • Hi Mikayla,

                            I cloned the MonoUE fork to my (Win 8.1) desktop and and followed the steps identified in the ReadMe. Up to this point, everything goes well, but when I build the solution in Visual Studio 2017, I get the following (numerous) errors. I deleted the repo twice and started over, but building the solution in VS always results in the following 47 errors and 6 warnings. I've asked Google, but no one else seems to have this specific problem. If you could point out an area where I must be doing something wrong, I can take it from there. For now, though, I'm stumped.

                            Code:
                            Severity    Code    Description    Project    File    Line    Suppression State
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    Localization.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\Localization\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    OneSkyLocalization.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\OneSkyLocalization\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\Localization.Automation.dll' could not be found    OneSkyLocalization.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\OneSkyLocalization\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    AutomationScripts.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\Scripts\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\OneSkyLocalization.Automation.dll' could not be found    AutomationScripts.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\Scripts\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    BuildGraph.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\BuildGraph\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    IOS.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\IOS\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    AllDesktop.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\AllDesktop\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\AutomationScripts.Automation.dll' could not be found    Android.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\Android\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    Android.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\Android\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\AutomationScripts.Automation.dll' could not be found    HTML5.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\HTML5\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    HTML5.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\HTML5\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    Linux.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\Linux\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    Mac.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\Mac\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    TVOS.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\TVOS\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\IOS\IOS.Automation.dll' could not be found    TVOS.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\TVOS\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    Win.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\Win\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\BuildGraph.Automation.dll' could not be found    Win.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\Win\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    XLocLocalization.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\XLocLocalization\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\Localization.Automation.dll' could not be found    XLocLocalization.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\XLocLocalization\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\AllDesktop\AllDesktop.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\Android\Android.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\AutomationScripts.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationUtils.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\BuildGraph.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\HTML5\HTML5.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\IOS\IOS.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\Linux\Linux.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\Localization.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\Mac\Mac.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Binaries\DotNet\AutomationScripts\MonoUE.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\OneSkyLocalization.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\TVOS\TVOS.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\Win.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0006    Metadata file 'D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\DotNET\AutomationScripts\XLocLocalization.Automation.dll' could not be found    AutomationTool    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\CSC    1    Active
                            Error    CS0122    'UnrealBuildTool' is inaccessible due to its protection level    AutomationUtils.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\AutomationUtils\ScriptCompiler.cs    152    Active
                            Error    CS7036    There is no argument given that corresponds to the required formal parameter 'Location' of 'DirectoryReference.Exists(DirectoryReference)'    AutomationUtils.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Source\Programs\AutomationTool\AutomationUtils\ScriptCompiler.cs    157    Active
                            Error        The command "..\..\MSBuild\NuGet.exe restore -PackagesDirectory D:\GitHub\MonoUE\UnrealEngine\Engine\Plugins\MonoUE\Build\MonoAutomation\packages nuget\packages.config" exited with code 9009.    MonoUE.Automation    D:\GitHub\MonoUE\UnrealEngine\Engine\Plugins\MonoUE\Build\MonoAutomation\MonoUE.Automation.csproj    83    
                            Warning        Could not resolve this reference. Could not locate the assembly "Localization.Automation". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.    AutomationScripts.Automation            
                            Warning        The referenced component 'Localization.Automation' could not be found.    AutomationScripts.Automation            
                            Warning        The referenced component 'Mono.Cecil.Rocks' could not be found.    MonoUE.Automation            
                            Warning        The referenced component 'Mono.Cecil.Mdb' could not be found.    MonoUE.Automation            
                            Warning        The referenced component 'Mono.Cecil.Pdb' could not be found.    MonoUE.Automation            
                            Warning        The referenced component 'Mono.Cecil' could not be found.    MonoUE.Automation            
                            Error    MSB3075    The command "..\..\Build\BatchFiles\Build.bat UnrealHeaderTool Win64 Development -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.    UnrealHeaderTool    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets    44    
                            Error    MSB3075    The command "..\..\Build\BatchFiles\Build.bat UnrealLightmass Win64 Development -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.    UnrealLightmass    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets    44    
                            Error    MSB3075    The command "..\..\Build\BatchFiles\Build.bat UnrealWatchdog Win64 Development -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.    UnrealWatchdog    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets    44    
                            Error    MSB3075    The command "..\..\Build\BatchFiles\Build.bat UnrealPak Win64 Development -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.    UnrealPak    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets    44    
                            Error    MSB3075    The command "..\..\Build\BatchFiles\Build.bat UnrealVersionSelector Win64 Development -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.    UnrealVersionSelector    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets    44    
                            Error    MSB3075    The command "..\..\Build\BatchFiles\Build.bat UnrealFileServer Win64 Development -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.    UnrealFileServer    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets    44    
                            Error    C2187    syntax error: 'identifier' was unexpected here    BootstrapPackagedGame    C:\Program Files (x86)\Windows Kits\8.1\include\um\combaseapi.h    229    
                            Error        Failed to produce item: D:\GitHub\MonoUE\UnrealEngine\Engine\Binaries\Win64\BootstrapPackagedGame.exe    BootstrapPackagedGame    D:\GitHub\MonoUE\UnrealEngine\Engine\Intermediate\ProjectFiles\ERROR    1    
                            Error    MSB3075    The command "..\..\Build\BatchFiles\Build.bat BootstrapPackagedGame Win64 Development -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.    BootstrapPackagedGame    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets    44
                            Dean

                            P.S. Thank you isn't nearly strong enough for you to understand just how much this labour of love of yours is giving to the community. But, thank you is all I have, so THANK YOU!!!

                            Comment


                            • Could you share them?
                              1onlineapotheke.de Cialis bestellen levitra kaufen

                              Comment


                              • Originally posted by kaufenpreis View Post
                                Could you share them?
                                Share what?

                                Comment

                                Working...
                                X