Is Unity a Cheater IDE?

Hello Unity people! I am a novice programmer, currently learning Swift 2.0, and Java. I am not asking this to offend anyone, but, is Unity kind of a cheater way to program? Obviously it has coding involved, but it seems more visual than Xcode… is it frowned upon to use Unity over Xcode or with it? Is it considered the ‘noob’ way to do things? Or do a lot of programmers use it? Is it just as code oriented as Xcode and I just don’t know? Sorry if this seems rude, I’m generally curious where Unity stands in the programming community. Thanks!
Ryan

1 Like

Try making your own game engine then come back here and answer your own question.

6 Likes

Try making a good game with it then let us know what you think.

1 Like

it is not cheater way to program, it is just easier way to program (for me) than other game engines.

1 Like

What, exactly, are you cheating out of? Years of struggle and suffering? Hell yes. There are plenty of those to go around in this biz.

4 Likes

Personally I don’t call ‘avoiding reinventing the wheel’, achieving cross platform compatibility with ease, or working in an environment that is productive cheating.

Any pitfalls of Unity tend to be far more specific to a particular project, e.g. it is complete overkill for the project, are there other engines that do an essential thing for this project better than Unity, etc. Or to the particular user, e.g. are they out of their depth and sticking a load of assets together in a way they don’t understand that will fall over before their grand vision is fully realised?

1 Like

I would say it depends on your goals.

Are you making games as a hobby? If you’re in a situation where you’re making games as a hobby (for fun), Unity is a fun and simple way to do this.

If you’re wanting to make a career out of programming, I would suggest expanding your tool box beyond Unity. The industry largely runs on C/C++, and so understanding it will be of great help when looking for quality work. If all you know how to do is program games in Unity, you will not be able to make games outside of Unity. You’re going to limit yourself to the engine, and you’ll really only know Unity’s way of doing things. This doesn’t mean Unity is bad, it just means you should understand other ways of programming as well on top of understanding Unity.

The C# it uses is the same C# you would use elsewhere, but note that C# isn’t the typical programming language for games (though it may be gaining popularity now thanks to engines such as Unity).

Other considerations about whether to use Unity or not are based around whether it’s the right tool for the job. Unity imposes limitations that you may not be okay with. You have to understand what those are and determine if you care or not for your particular project, and whether the increased productivity is worth it or not.

I’d like to add two additional notes as well:

  • Your competition is much greater if you use Unity, as there are a lot of people who also use Unity. When making games becomes easy, it’s great for making games. But it’s not great for finding work. Making an engine may be ‘hellish’ (it’s really not as bad as people make it sound), but it can give you skills that let you stand above people who can only program in Unity. As I said, it depends on your goals.

  • You are not ‘reinventing the wheel’ if you choose to work outside of Unity. To say Unity is a ‘wheel’ is extremely misleading, with the several limitations and restrictions and flaws it imposes on you. I’m not here to attack Unity - it’s definitely one of the best engines we have available today. But the point I want to make is that calling it a wheel is akin to saying it’s “perfect” and that it cannot be improved, and there are no better ways available to do things than what the Unity engineers chose to do. And that is simply untrue.

In the end, it depends on your goals. Do you just want to make a game in the most efficient way to make the game available right now? Do you want to learn things? Are you preparing for a career in the industry? Is it a hobby? These questions will really determine the answer.

2 Likes

I think of programming like cooking. No one truly cooks anything by scratch anymore. If I am cooking ribs, I don’t grow my own pigs, I don’t make my own barbecue. However, I do mix my own rub and make my own barbecue sauce because I want more control over how those taste. Even then, I am still using items like store bought ketchup and whiskey.

Programming is the same. No one (or very few) writes their own programming language and writes their own compilers and then writes their own engine and drivers and such. Somewhere along the line you are using code written by others. Using the Unity Engine might be like using a store bought barbecue and pork but at least I can customize my game with my own barbecue sauce. Is that cheating? I think that is the wrong question because even if it is, I don’t care. I’m just trying to use the right combination of tools to make what I want to create.

2 Likes

Very noobish question, but I’ll allow it. :slight_smile:

No, Unity is not cheating… because cheating means that there are rules being broken. In developing your game you will find that creating tools helps your work go faster. You write code to help you automate things, eliminate human error, etc.

An Example
I do 2D pixel art games, so every time I bring in a sprite, I have to set the resolution, enable point filtering and I disable mipmaps because I don’t know what they are, but they sound expensive. Also, I turn off compression. That’s every sprite. It wastes time and sometimes I forget to do things. So, I have to go back and fix it. So, I looked into it and wrote a custom asset importer. Thanks to Unity, it wasn’t hard. Now, all I have to do is save to the asset folder and Unity automatically finds and imports it using my settings.

The thing about Unity is that it scares people, because it gives them the power to do things. People like to talk about all the wonderful games they’re going to make, but there’s always an excuse. Unity takes away that excuse, because you really can make any kind of game you want in it. It’s sort of like “put your money where your mouth is”.

If you think a tool that enables you to actually do what you say you want to do is “cheating” then you’re probably more on the systemic excuse-maker side, anyhow, though. If you catch my drift.

Anyway, good luck Ryan Minnick. You have a long road ahead of you, I suggest making good friends, learning to listen to advice and disposing of your ego in the nearest waste receptacle, it’ll only weigh you down.

And welcome.

2 Likes

Programmers’ job is getting things done. Programmer’s job is not “writing code from scratch for every situation”.

There’s no “anti-cheater” committee for programmers. Every tool that speeds up your development process is useful.

Your ultimate goal is to:

  1. Solve problem
  2. In minimum amount of time.
  3. With minimum effort.
  4. At minimum cost for the company (that includes maintenance cost).
  5. And get maximum payment for it.

So, ideally you should solve problems nobody could ever tackle and do that without writing anything. That’s unattainable ideal, of course.

You should only write your own stuff from scratch in one of those scnearios:

  1. You deeply enjoy it and do it for yourself.
  2. It is cheaper than other alternatives.
  3. There’s no technology that solves the proble.
  4. You’re studying new concepts using “learn by doing”.

Aside from those cases you should almost never try to reinvent the wheel.

Writing replacement for unity would set your gaming project for several years. IF your goal is to make games, you should use off-the-shelf gaming engine.

6 Likes

Is it considered re-inventing the wheel? In most peoples eyes? I’m starting to see just how idiotic I sound to most of you. But I was genuinely lost on this. I can read Syntax all day long but these details have to be found by asking. Also @Master-Frog I do have a few “programming friends” if you will whom I ask questions to, but are mainly API developers and work off other visual games such as “Minecraft”.

SMH

You’re asking these things in a Unity forum, where people will naturally be more biased toward Unity. And I think a lot of people will go through great measures to justify why they choose to do things the way they do things.

If you’re looking to get a lot of reasons FOR using Unity, this is the place to ask. And if you’re using a ‘majority’ argument, you’re going to find far more people using Unity than doing low-level programming because it’s a lot easier.

Does that mean Unity is the better way to go? That depends on your goals. What are they?

1 Like

To be an innovator. To create something awesome. Is it possible with Unity? It looks like it. This isn’t the only forum I’ve asked. I asked a general programming forum as well. I suppose I should’ve expected Biased asking here. Thank you for responding diplomatically rather than defensively.

Uh oh… looks like I have NIH… Not invented here - Wikipedia

Yes Unity is a total cheater program app that only noobs like me use. I’m so scared of what all those smart clever pro guys will think of me as I make money and enjoy life.

3 Likes

It’s certainly possible to create something awesome in Unity, and many awesome things have been created in it. The only thing you have to be aware of is the limitations Unity has - most of which can be worked around quite easily and seldom create problems.

I’d say that you would want to do low level engine programming if:

  1. You want to make game engines.
  2. You want absolute control over performance and everything that’s going on.
  3. You want the flexibility to choose which libraries/technologies you use, or implement themselves if you want.
  4. You don’t want to be stuck unable to fix bugs in Unity’s code that you don’t have access to.
  5. You want to learn every last thing going on under the hood.
  6. You want to get a job that involves coding outside of Unity (and specifically involves low level programming).

If those types of considerations aren’t important to you, then Unity is probably a great choice.

hippocoder’s point about money is valid under the assumption that you CAN make money using Unity. And that’s a whole different debate. If you’re able to make a living with it, by all means use it!

2 Likes
  1. You want to make tiny budget mobile titles because one man can’t make an engine that is remotely even in the same ballpark as UE4, Cryengine or Unity as a single developer. It cannot ever be done (a single human lifespan isn’t long enough), the requirements are now far too big. But if you’re doing tiny mobile titles, by all means, make your own engine.

Consider the fact that I asked if it was, I never said it was. I am still getting to know the programming culture and how it all works.

Thanks for clarifying.

90% wannabes who worry about how the code looks and if they’re cool and with the latest trends. These guys make nothing of interest or finish anything. 10% guys who do great work and finish stuff - with whatever they want.

The culture is generally the same as any other field, full of opinions with a quiet minority who simply don’t care what people think, and finish stuff.

5 Likes