Unity - Best practices

Hey guys,

in another question of mine, i kinda asked the same, but barely someone answered (maybe I didn’t wait enough?). I’m trying to be more specific this time.

I started to work with Unity and am really not sure, what the best practices are. So i have like 99834983 questions.

  1. Should I use the inbuilt UI-System(if so, should i import UI graphics as sprites? Is it the right approach?), use external libraries or create a GUI trough script? Regarding the GUI I have like plenty other questions. I’m not sure if i should use a Texture/Sprite or the built in Text GameObject…stuff like that.

  2. I made a simple circular movement for a GameObject in script, why is it causing spikes(i have read several things about this already, but none of those answers were satisfying).

  3. How to import UI Graphics? Get a regular size and rescale them, or is it a better approach to create graphics the size I’m gonna use them on my maint arget device. If so, there are two problems. I would be forced to customize every texture everytime i want to make minor changes and since I’m developing for mobile devices, it will be rescaled anyway. The worst thing is, that all this rescaling causes fragments, which is really annoying and I’m not sure what to do about.

Best regards,


hexagonius, since it said “This is NOT a support forum…”, i thought i shouldn’t ask a question there. But you are actually right. Since some of the questions don’t refer to a individual problem. I will make a post there regarding common best practices.

getyour411, I’m sorry. I’m a beginner with Unity and actually worked with some platforms before, like the Android SDK. This is also the first time for me to use a Graphics-Engine(Library)intensively. I have some knowledge about OpenGL(learned it in Uni). Since the things that I’m trying to achieve and that cause problems basicly refer to 2D and/or GUI. Those are pretty simple things and I was really suprised by all the problems that I faced. So I actually thought, that there is some general knowledge that I was missing and that I would get a reference or a simple explanation that would help me out. Regarding the CircularMovement probem:

    public Vector3 center;
    public float degrees = -65.0f;
    private Rigidbody2D myRigidbody2D;

    private Vector3 v;

    void Start()
        myRigidbody2D = this.GetComponent<Rigidbody2D>();
        center = Vector3.down;
        v = transform.position - center;

    void FixedUpdate()

        v = Quaternion.AngleAxis(degrees * (Time.deltaTime * 2.5f), Vector3.forward) * v;

        myRigidbody2D.position = center + v;
        transform.position = myRigidbody2D.position + myRigidbody2D.velocity * (Time.time - Time.fixedTime);

It is a 2D game and this causes some minor spikes. Actually, you won’t see it, if you don’t pay attention, but once seen, it is really annoying. It is every here and then, that it happens.

Thanks in advance,