Hello every one, I have been using Unity for personal development and learning but the coding was a hard issue for non coders. I want to ask when we will be able to have a no code unity development environment rather then visual coding or using any kits/plugins or libraries.
AI Generated code like gpt-3 based codex and github based autopilot are also let non coders get rid of coding and focus on the development better/ awesome games.
That what I wanted to ask, Does Unity official itself gonna implement any of no code features in near future?
I’ve been in computing for 40 years now. Going back to my very earliest days, there have been attempts to design development environments that didn’t need coding. However, we are where we are, with coding being more complex than ever, more programming languages, more methodologies, and more layers and foundations to learn. I really don’t think we are anywhere near a no-coding approach.
Unity’s Visual Scripting is a way of creating a program without actually writing code but the hard parts of developing a game are system design, data architecture, messaging, handling and manipulating assets and so on. None of these are eliminated by using Visual Scripting. In fact some things are harder in Visual Scripting - for example, the simple if-then-else is horrible in VS.
The difficulty in writing programs is not the syntax of the language, it’s the technical design, the creation of infallible logic, the error handling, the validation and manipulation of data, the user interface design, the architectural issues and, of course, the fundamental idea of what it is that you want. None of these will go away with no-code/lo-code. It’s only when you have done all of these that Codex comes into use - the OpenAI team themselves say that Codex is only good for the final stages - coding small pieces.
Is there anything we can do for the artists/level designers/concept team? Yes, but probably not within Unity. There are a few things (Visual Scripting for simple logic, Scriptable Objects for creating assets, stuff on the Asset Store for simpler animation, FSM and so on) but designers mainly work outside of Unity. Paper/physical toys for prototyping, Digital Content Creation tools for visuals and audio and so on.
One last thing. I read my code far, far more times than I write it and I doubt there is a programmer anywhere who would not agree with that. Programming is about fixing things, not creating them in the first place. As Fred Brooks said back in the 80s: there is “No Silver Bullet”.
Imo @SurreyMuso already sums the basics up pretty well.
To add another perspective from a Software-Dev with roots in Machine-Learning: here are my 2 cents.
“AI” can already do a lot of stuff. It is also heavily promoted as such and thus - especially for people who have no clue about this topic - it is said to be the magical solution to almost everything. Which makes it sound like it can be used to solve everthing and so on.
Reality is that this is by far not the case. We can do a lot of things, but most of those things take a lot of time and money and are really really specifically shaped to solve one issue. For example we can use AI to:
- differentiate between healthy cells and cancer cells in medicine
- detect objects on images
- create art from a short sentence
- solve a maze
- play super mario
(just naming a few from different fields)
The main issue here is: For each application you create a model. Each model is created and trained to solve this specific task - only this specific task. The AI-Model (basically the brain) that can solve Super mario, can not be used to detect a human on an image. Even more: It can’t even be tought to detect humans on an image as the model-structure in itself is just not applicable here.
Given these basics lets assume we want to use an AI-Model to create a game. There are so many different layers to this problem:
First: You as the user have to describe the problem. In text. Which can be really abstract. Imagine you want to describe the game super mario to make and AI create the code for it. You’d have to write a whole book to define all the little things there are to it and in the end this would then still not cover the map design. Then you have no clue how the result would look like as the AI would just give you the result. You’d have no idea what you have to change in the description to make a specific change in the result as you don’t know how the AI would interpret the text. (This assumes that we could have this AI which - to be frank - does not exist and will not for many years to come) we still don’t have a good way to know how a trained model will solve an issue before we actually see it solve an issue which is a highly researched topic nowadays.
If you want to try this out by yourself: There are online Picture generators that take a description and create Art for this. You can try that for free for yourself. Try to think of something that does not yet exist (for example some fantasy animal that only you know of) and try to make the AI create an image of that. You will probably be disappointed in the result as the AI is only trained on things that already do exist. And this is only one image. Now this AI should do way more and create working code.
Perhaps at this point you might see that this is kind of difficult.
At the same time your idea is not really new. There are people who think that programmers will basically make themselves unnecessary in the coming years as the programms we create will become smarter and in the end be able to solve all problems by themselves. → let me assure you: We are far away from that. Not even in military applications where there - in comparison to the gaming industry - is ** a lot** more money involved to funnel into that research.
TL;DR:Software we create is stupid. It does what we tell it to do and will so for many years to come. AI is hard and not as advanced as people tell you it is. I’d even argue that calling it AI is wrong → It is all Machine-Learning, since imo there is nothing “Intelligent” about it so far.