<div dir="ltr">As mentioned - we have tens of thousands of lines of C#, and a small number of lines in JavaScript.  In short:<div><br></div><div><ul><li>We have developers that need to know one language - C#</li><li>The rest of our product is in a single language</li><li>C++ itself is notoriously painful (though I know it reasonably well myself - I find it far easier to code in C# with Linq, reflection, automatic GC, etc etc)</li></ul><div>In short: rather than either re-skill a developer to C++, or fragment the team, or outsource the work, or any one of a myriad issues surrounding supporting C++ - we're using C# unless a compelling case can be made to support multiple languages.  As it is we're using C# with a number of additional frameworks (eg Postsharp, etc) - so it's a non-trivial C# environment in any case.</div></div><div><br></div><div>This should be just a plugin - built by Xamarin or Unreal / Epic.  This would install in seconds. Ryan Burnham's comment seems to indicate the issues he's found using the existing practice of "compile your own".</div><div><br></div><div>In addition to the rebuild problem - the statements around the fact that the plugin isn't "production ready" after many months of apparently zero development does not fill me with any sense that it's a viable option long-term, and could be killed at any point.</div><div><br></div><div>Epic / Unreal - if you're listening : I will be blogging about our experiences with the C# environment.   My most honest and best advice is this:</div><div><br></div><div><ul><li>Finish it - not all features need to be supported, but core ones do need to be</li><li>Include C# / Mono as part of your software build process - which will make it part of your normal dev cycle, and will disappear as a problem</li><li>Distribute it with the product out of the box</li><li>Trumpet it across the C# development threads</li></ul><div>Right now it's a failed feature launch.  It indicates that it's easy to use - but the reality is far from this, and is largely full of frustration. </div></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 20 March 2015 at 10:23, Eugene Tchoukhrov <span dir="ltr"><<a href="mailto:ujen@vicogamestudio.com" target="_blank">ujen@vicogamestudio.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Hi David,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I’m not with Xamarin nor Epic.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Just for my curiosity, what are the reasons you and your team are tied to C#? I moved our team over to UE4 and C++ a couple years ago and we have not looked back. It has been a great experience working with C++ and UE4.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Kind regards,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Eugene<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">PS, you don’t have to respond, but I’m simply curious.<u></u><u></u></span></p><p class="MsoNormal"><a name="14c3459083266ef6__MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></a></p><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> <a href="mailto:mono-ue-bounces@lists.ximian.com" target="_blank">mono-ue-bounces@lists.ximian.com</a> [mailto:<a href="mailto:mono-ue-bounces@lists.ximian.com" target="_blank">mono-ue-bounces@lists.ximian.com</a>] <b>On Behalf Of </b>David Ford<br><b>Sent:</b> Thursday, March 19, 2015 2:58 PM<br><b>To:</b> Ali Scissons<br><b>Cc:</b> <a href="mailto:mono-ue@lists.ximian.com" target="_blank">mono-ue@lists.ximian.com</a><br><b>Subject:</b> Re: [Mono-ue] A call to establish a C# / Mono development and build environment for the plugin<u></u><u></u></span></p><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">I think my request still stands.  There is very little (if any) benefit to having each individual developer compiling on their own.  Few (if any) Unreal downloadable examples appear to use 4.4.<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I am re-tasking our developers to Unity as of this morning, and halting Unreal development entirely.   We may return to Unreal at some point, but will review the decision to support two engines in detail before committing to that effort.    <u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">If there are someone within Xamarin / Unreal that this email can be forwarded to - I'd appreciate it.  We're expending effort developing products, not wasting time recompiling (with compilation errors, as it turns out) non-production grade toolchains.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Regards<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">David<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div></div><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">On 20 March 2015 at 03:24, Ali Scissons <<a href="mailto:ali.scissons@gmail.com" target="_blank">ali.scissons@gmail.com</a>> wrote:<u></u><u></u></p><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in"><div><p class="MsoNormal">The plugin isn't complete and not ready for production use, not to mention the plugin requires changes with UE4 itself (thus the patches). However, not everyone is required to build UE4/plugin from scratch. Once it is built, you should be able to redistribute it to your other developers and only have them setup with C# related tools like Xamarin Studio and it's plugin.<u></u><u></u></p></div><div><p class="MsoNormal"><br clear="all"><u></u><u></u></p><div><div><div><div><p class="MsoNormal">Ali Scissons<u></u><u></u></p></div></div></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><div><p class="MsoNormal">On Thu, Mar 19, 2015 at 7:34 AM, David Ford <<a href="mailto:davidfordaus@gmail.com" target="_blank">davidfordaus@gmail.com</a>> wrote:<u></u><u></u></p></div></div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in"><div><div><div><p class="MsoNormal">I'm somewhat confused as to why each developer wishing to use C# "must" recompile from source.  As far as I can see there's nothing compelling within the Mono code that requires that each developer should rebuild for their own specific machine or environment.<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Can I suggest that the better (best) approach be that a virtualised build environment be established within Xamarin or Unreal / Epic, and that a single developer be tasked with updating the Mono plugin on each release of the game engine (presumably the API's don't change between patches to point releases - eg 4.7 + patch will be compatible with the plugin if 4.7 raw is compatible.  This developer wouldn't be full time, but may perhaps spend a day each month (or less, assuming straightforward compatibility between releases).<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">At this stage there is potentially a vast amount of wasted effort having every C# developer establishing a full Mono build environment and toolchain for C#, when in fact most developers (including myself) simply want to download the Mono plugin and add it to the UDK, then add our own C# assemblies.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">We currently have one developer spending several days simply getting a Mono C# plugin environment to run, when in reality a pre-built Mono plugin would have removed all of that needless effort, and reduced the time to hours at most.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">We would prefer to use Unreal rather than Unity, however at this stage I may pull our Unreal development completely and switch our (early phase) project to the Unity platform based solely on the lack of a simplified development toolchain with C# / Mono.  <u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Note that all the other code for our project (20 + C## projects, tens of thousands of lines of code) are C#, and I see no reason to add a small amount of C++ purely to support Unreal, and based solely on the fact that recompiling the Mono C# plugin for each UDK release is non-core effort.<br clear="all"><u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><div><p class="MsoNormal" style="margin-bottom:12.0pt">Best regards<span style="color:#888888"><br><br>David Ford<br>0421 659 552</span><u></u><u></u></p></div></div></div></div><p class="MsoNormal"><u></u> <u></u></p></div></div><p class="MsoNormal" style="margin-bottom:12.0pt">_______________________________________________<br>Mono-ue mailing list<br><a href="mailto:Mono-ue@lists.ximian.com" target="_blank">Mono-ue@lists.ximian.com</a><br><a href="http://lists.ximian.com/mailman/listinfo/mono-ue" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-ue</a><u></u><u></u></p></blockquote></div><p class="MsoNormal"><u></u> <u></u></p></div></blockquote></div><p class="MsoNormal"><br><br clear="all"><u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal">-- <u></u><u></u></p><div><div><p class="MsoNormal" style="margin-bottom:12.0pt">Best regards<br><br>David Ford<br>0421 659 552<u></u><u></u></p></div></div></div></div></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Best regards<br><br>David Ford<br>0421 659 552<br><br></div></div>
</div>