Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Sadly, Unity sucks so far for me

Discussion in 'Editor & General Support' started by throwaway1337, Aug 6, 2014.

  1. throwaway1337

    throwaway1337

    Joined:
    Aug 6, 2014
    Posts:
    2
    Warning: The following contains strong language, because I was angry when I wrote it. But I checked the rules and they didn't say anything about that. Just, please, don't be pointlessly offended or anything. Come on.

    So I'm just trying to make a platformer. A simple 2D platformer. But Unity doesn't want me to.

    OK so I create my animations (and I already have to do some weird S*** so Unity allows me to create a 1-frame animation, and so I can make animations slower) and I connect them in Mecanim.
    What is this? Am I supposed to define some, er, "parameters" here? Isn't that what code is for?
    *Sigh*, ok, I guess I need a boolean that says if I'm on ground, and an int for the speed. So I connect my states, just Stand, Walk, and Jump. Then I realize, I should probably use a float for the speed. Well S***, turns out, I can't just change the int to a float, I have to remove it, add the float, and then connect everything again. I knew this graphical S*** would bite me in the ass eventually, I just didn't think it'd happen so early.
    But, oh, wait, it's not that simple. Turns out, I can't check a float for equality, just if it's higher or lower. Well crap. What the F*** am I supposed to do? I want my character to stand if its speed is 0. So I look that up and it seems I'm supposed to put something like "lower than 0.01 and higher than -0.01", which is B.S., but ok, I'll just try hard not to vomit as I'm doing it.
    Now I want to add an additional animation for running. How do I do this? I decided I would download the sample 2D assets and see how they do it there. Aaaaand its horrible. It basically says, if the speed is higher than 0.1 then run, if it's higher than 0.01 then walk, else idle. What the hell!? Am I really supposed to hardwire the walking and running speeds like that? What if I want to use this file for a character with a different speed? Can I not? Do I have to create a copy of the F***ing thing and manually change each value? What am I a F***ing farmer? And while we're on the topic, what if I want the other character to have different animations? It really seems like I'm S.O.L. I'd have to duplicate everything as if I was a beginner that doesn't know how to define a function.

    But then comes the scripting. There seems not to be any way to automatically sync a variable with an animator property. I have to do it manually. So I think, *shigh*, ok, let's try with properties.

    private bool OnGround {
    get { return animator.GetBool("OnGround"); }
    set { animator.SetBool("OnGround", value); }
    }

    Well good, but this is going to get old in about three seconds. Does C# support macros so I can automate this process...?
    No, it doesn't.
    And what about the speed? It's given by rigidbody.velocity.x (or something) so... basically it's duplicated and redundant now. Great. Every time I change the velocity, I have to remember to update the Speed property too. F***ing great.

    In the end I decided F*** it, I'll remove the Speed and OnGround properties and just have a State that's an int, then connect every state with "any state" and assign each one a different int value.

    At that point I decided to write this and post it here. I did not just come here to rant, I'm also hoping that somebody will tell me that I'm doing everything wrong and explain the Right Way of doing things. So please, if you know what that is, go ahead.
     
    rakkarage likes this.
  2. oysterCAKE

    oysterCAKE

    Joined:
    Dec 3, 2012
    Posts:
    149
    So what you mean is, you are inexperienced and that this infuriates you.

    That said, post and composed in a more structured and easier to digest manner, and it will be much easier to help you.
     
  3. Josh-Naylor

    Josh-Naylor

    Administrator

    Joined:
    Jul 1, 2014
    Posts:
    216
    No matter what your programming/technical ability, we advise having a look at the official learn tutorials which are a great way to get used to the editor. Maybe these can help with some of your problems. http://unity3d.com/learn/tutorials/modules
     
  4. throwaway1337

    throwaway1337

    Joined:
    Aug 6, 2014
    Posts:
    2
    Yes.

    Honestly, I think my post already conveys everything I'm having trouble with pretty well.

    ... is this an automated answer?
    But yeah, I actually followed a couple of these. They are kind of a pain though, because they are videos, which makes it hard to quickly skim them and look for the specific information I need. But ok, I guess I'll check a couple more.
     
  5. oysterCAKE

    oysterCAKE

    Joined:
    Dec 3, 2012
    Posts:
    149
    It might convey your frustrations well enough, but something more structured would be far easier to read & provide assistance
     
  6. Toack

    Toack

    Joined:
    Dec 18, 2006
    Posts:
    107
    Just move on and try other engines, if your problem is solved then Unity is to blame, if your problem is not solved then you are to blame.