Search Feedback


F# support




F# is rapidly gaining popularity in the .NET community. There are several game developers who are using it outside Unity, and even Xamarin products now support it.

It would be nice to be able to use F# for scripting in Unity.

Comments (57)

  1. 8e997b2ce277cab636e1a5c4053a0efd?d=mm


    Dec 04, 2018 18:55

    IL2CPP - it's a dead end and trash; Functional languages+ECS is the best for games

  2. 84af268816a25ec4eb0eae646310adbe?d=mm


    Aug 15, 2018 17:18

    When I started, including a business-logic F# library in a Unity project, I did not get any warning, when Unity Player runs an F# dll via mono.
    We _explicitely_ had chosen Unity over Xamarin (Forms), because you can deploy on more platforms.
    So nearly before finishing the project with Android, we tried to build an iOS version. This needs to be done via IL2CPP.
    Then some exceptions occured, which sounds very nonsense, but after stripping some code, it seemed to work. Then I did read this blogpost: where is mentioned, that there is one restriction, that completely kills the usecase. "IL2CPP limits the recursion depth of generics to seven levels".
    Is there at least an option to set this level to another value and ideally get errors for code, which exceeds this level? I even would change IL2CPPs source code for that option, if it would be accessible.

  3. 8a3e8b8f1f15fcdd558f389dbbe00801?d=mm


    Aug 05, 2018 11:51

    No, seriously, I want an explanation why anybody would be so fervently upset with the idea other than "it's bad" or "I don't personally see a use for it." If it's not for you then mind your own business.

    F# is not a second-class language to Microsoft, they have in fact been _increasing_ support for it over the past several years, in large part thanks to community contributions to the F# toolchain.

    Rider, an IDE built specifically for Unity, has had F# support for over a year, and recently released source code for its F# plugin due to popular demand.

    F# Kit in the Unity Store provides some basic conveniences that are lacking in the Unity editor like auto-compiling scripts.

    There is absolutely a demand for F# support directly in the Unity editor itself, because people are _already_ using F# with Unity; all this is asking for is simplifying our lives a little.

  4. 74c73984e3aa965466fac9091c58cc9f?d=mm


    Aug 03, 2018 19:46

    one of the most idiotic ideas and it's a shame that this is even on the top of the feedback list. Luckily it's not even remotely mentioned on Unity's road-map and hopefully never will!
    C# is clearly the language of choice, not only by Unity, but also by its creator - Microsoft. I am not saying F# is bad, but it has no place in Unity, nor should Unity spend a nano second integrating it to the engine. There are so many more important things to add to Unity than another programming language.

    -100000000 down votes

  5. 6adc6ab076fa0dbd18371f5e95941fa1?d=mm


    Jul 14, 2018 21:39

    +10 from me!

    I've worked in tons of languages (and am one of the top Kotlin devs in the world), and I am endlessly frustrated at the lack of expressiveness in C#. This would be a huge win in helping me architect big reusable systems, which often require very tricky generic structures.

  6. 8a3e8b8f1f15fcdd558f389dbbe00801?d=mm


    Jul 04, 2018 05:25

    wait people actually have a beef with giving devs another option? like what do they have to lose

  7. C4f65a643ff7226b532e1e69f7812357?d=mm


    Jun 16, 2018 08:16

    I agree with LSPRESSWORKS, I wish I could down vote this idea.

  8. 00073a257a3b4526f3d46c114de89be4?d=mm


    Jun 01, 2018 11:03

    + 10 votes!
    Data modeling and processing is much more fluent and typically requires significantly less code in F#.

  9. C7ce055e36ac15a4d3247dd091c69de7?d=mm


    May 19, 2018 18:13

    +10 votes!

  10. 7159f555f64a720dab715189fc87e5d8?d=mm


    May 19, 2018 06:14

    F#'s type system and expression are beneficial to represent complex things in a clear way. It's more difficult to do in C#, you always need verbose and bloated OOP style polymorphism to do it. But in F#, the only thing you need might be a simple union type.

Your opinion counts

Help us make things better. Share your great idea for improving Unity or vote for other people’s.

Log in to post a new idea








AI & Navigation






Asset Store


Asset Store Publisher






Cloud Build




Docs & Tutorials






Game Performance Reporting


















Profiling & Optimization