Search Unity

[SOLVED] How far I can go without C#?

Discussion in 'Getting Started' started by Kryjus, Dec 3, 2018.

  1. Kryjus

    Kryjus

    Joined:
    Nov 25, 2018
    Posts:
    2
    Hello.

    I've started using Unity few days ago. In the past I was really sucked into Unreal Engine 1 - it was amazing at the time.

    What bothered me about Unity is C#. I know a little bit of Java and like it (wrote few small apps), know something about webdev etc. But C# is something I don't like, and I don't feel to start liking it. Plus - it would be another language to learn (I have many things on my head, much to learn, and it's impossible to learn all that stuff and be good at it, it's a matter of choose what is important and more important).

    Of couse I'm still digging in Unity and it's amazing. But how far I can go without C#? Or is there any sense to dive into Unity without C#?
     
  2. wagenheimer

    wagenheimer

    Joined:
    Jun 1, 2018
    Posts:
    84
    No, you will really need C# for Unity.

    But, C# is very similar to Java, you shouldn't have any problem learning it.
     
    Ryiah and JoeStrout like this.
  3. Schneider21

    Schneider21

    Joined:
    Feb 6, 2014
    Posts:
    2,887
    Programming is not one of those fields where you have the luxury of choosing to not learn new things. Whether it's a new language (and as @wagenheimer said, C# and Java are about as similar as you can get, with C# being generally easier to learn and use than Java as well) or a third party API or library, there's always something new you'll have to adapt to.

    The difficult part of programming, in my opinion, isn't the language. It's being able to think through a problem using programmatic logic. A new language may trip you up as you're trying to remember the specific syntax for a substring in this language versus another, but Intellisense largely fixes this for you, and Google can easily take care of the rest.

    That said, if you just really don't like writing code, you could try working with a visual scripting tool like Playmaker. You'll still need to understand the principles of programming to use visual tools effectively, but if you really want to avoid writing code, there is a way to do it.
     
    Ryiah and JoeStrout like this.
  4. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    8,210
    I would argue that a visual scripting tool like Playmaker doesn't let you avoid writing code; it just makes writing code slower (while eliminating the possibility of syntax errors). Code composed of boxes, input fields, and connection lines is no less code than that composed of letters, numbers, and punctuation.

    But, yeah. @Kryjus, if you know Java, then you pretty much know C# already. Get over it. :) Your belief that it's impossible to learn and be good at many languages is incorrect; the more programming languages you know, the easier they get as you start to understand the fundamentals of programming vs. the superficials of syntax.
     
    Ryiah and Schneider21 like this.
  5. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,570
    Like @Schneider21 and @JoeStrout have mentioned this statement is not true at all. Programming languages only appear to be difficult to learn to someone who has only learned at most one language. My first one took me about three months while my second was less than one month and my third was within a week. I can learn the basics within hours now.

    Plus, like the former pointed out, it's not the languages that have the difficulty. It's the programming patterns and breaking down and solving complex problems that has the actual difficult but since both of these are universal (not tied to any one language) you won't lose any progress you've made suddenly switching languages.

    Finally, if you insist on not using C#, you can always use a visual scripting language but at the end of the day the actual difference between visual scripting and C# is that one of them uses lines of text and the other portrays functionality through a non-text form. Essentially the only part that is changed is the part that was never truly difficult.

    Getting back to your question, you can do the same tasks that would normally be assigned to non-coders. You can import assets into the project, you can create and edit scenes, you can attach already existing scripts to objects, etc. If you buy a pre-made game with the goal of reskinning it you should be able to completely reskin it without writing any code.
     
    Last edited: Dec 3, 2018
    Schneider21 likes this.
  6. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    6,552
    If you don't want to learn C#, you should save yourself some time and walk away from Unity right now.

    Also, in general if you aren't interested in putting in time learning new things, you should avoid game development in general, because it will be a common occurrence.
     
    Ryiah and Antypodish like this.
  7. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,570
    Honestly, if you want to continue using Java, you may as well walk away from game development in general. I know of only one game engine that is built for Java (jMonkeyEngine) and the last major release (3.0) it had was nine years ago (seven years if you count the fact it was in beta for about two years) with only minor and point releases since then.
     
  8. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    2,567
    Feeling overwhelmed to the point that you dread learning something new is an issue with not having clearly defined goals. Just what is it you want to do exactly?

    When you know the answer to that, it's easy to make a checklist of the things you must learn in order to reach your goal. If you don't have a clearly defined goal, but "just want to make games" or whatever, yeah, it's going to seem daunting because you are sailing across the ocean without a clue of where you are really trying to get to.

    You've got to get focused, if you want to achieve anything. Know where you are going, make the best plan you can to get there, and get to work. Periodically reassess how things are going, make a new plan if necessary, but always make sure everything you are doing is bringing you closer to your goal.
     
  9. Kryjus

    Kryjus

    Joined:
    Nov 25, 2018
    Posts:
    2
    Many thanks for all responses. They were very helpful. :)

    My aversion to C# have roots in ideology (a little bit). My last full-time Windows was 98. Then I've switched to Linux for next many years. That's why I like cross-platform solutions by design (like Python or Java). Of course C# in age of .NET Core is a cross-platform solution as well. But it was a time when C# was better to use on Windows, and using it on Linux was unnatural and harder. It was not a well-suited language for Linux. But it's just my ideology. It's a matter on thinking, not technical aspects :)

    But today I'm using Mac, Windows and sometimes Linux as well. I'm choosing a best tool for a task. It seems that C# is a great tool as well - I've misjudged it.

    OK - decision is made. I need to learn C# - for Unity scripting level. It's something that can't be avoided.
     
    Last edited: Dec 4, 2018
  10. thenewkgb82

    thenewkgb82

    Joined:
    Nov 10, 2018
    Posts:
    49
    Yey!
    At one point I went against C#. In fact once on a forum I discredited it. After a month I posted, I realised I had no clue about C# and put it in my bad books for no good reason.
    I've used my dad's mac for a year then moved into the Linux world, but I would like to say I am completely Windows now. Linux was too much to learn (honestly, did you read up commands to input into the console each time?).
    Give me the Windows!
     
  11. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,570
    C# was a cross-platform solution long before that. Mono has had .NET 2.0 equivalency since 2008 which is eight years before the initial release of .NET Core.

    C# was only better to use on Windows before Mono reached the point it had an acceptable implementation of the .NET framework which like I said was eight years before .NET Core. Some people might point towards the lack of WinForms as the chief reason since it wouldn't allow for WYSIWYG app development but .NET Core doesn't have WinForms either.

    I'm sorry but I read this as "I formed an opinion in spite of the facts to the contrary". :p
     
    Last edited: Dec 5, 2018
    Schneider21 likes this.
  12. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,570
    Truthfully I have had to use the command line more times on Windows 10 than on Linux. Part of it is the fact that I have had to break the updater because of the troubles it has caused (their most recent update was literally deleting files for everyone that installed it) and the other part is that they insisted on advertising in the OS.

    Linux has become one of my semi-regular habits. I'll download the latest release of Ubuntu, spin up a virtual machine (or a laptop if I happen to have one free at the time), install Ubuntu and see the progress that has been made. My experience the past few times has been that the command line is steadily becoming unnecessary.

    By the time I'm ready to switch to Linux (sometime between the end of Socket AM4 and the beginning of Socket AM5) I believe the command line will be completely unnecessary outside of strange use cases (which has become far fewer for me in the past couple of years).
     
    Last edited: Dec 5, 2018