I’m trying to finish my first game in Unity but I found that coding is really a nightmare.
The last problem I’m having is that after some time, no matter what you change in the code it won’t affect the actual game and you have to restart the entire Unity editor to get it working again. The script doesn’t have errors whatsoever.
Also, the code editor really sucks (at least for UnityScript) it has functions like code completion but doesn’t have simple things like function collapsing, a working outliner, and bookmarking; even some basic text editors have those features, I have a large script and I spend more time trying to find stuff than coding.
Also, Unity really needs to provide a better, decent way of accessing stuff in other objects, the current ways really sucks.
The code for my game is like 90% done but I’m considering an alternative because Unity is really driving me insane.
Two must-have things imho:
1-Consistent scripting - Always compile and use the latest version no matter what, if not possible drop an error
2-Decent code editor - An outliner is absolutely essential imho, code collapsing and bookmarking are handy also imho
Perhaps there’s a way to solve the issues and maybe an alternative code editor I can use that have at lease highlighting for Unity stuff and a working outliner.
I don’t agree that it’s a nightmare. I’ve never seen a case where script changes had no effect; possibly you’re talking about public variables in the inspector? In that case it’s necessary that the inspector values always take precedence over code, otherwise Unity would be broken and unworkable. Accessing other objects is trivial; see the docs.
I too have experienced that Unity wouldn’t update the scripts after you save them if Unity has been open for a long time. But you only have to right click the script and hit refresh and it’s all there.
if you are not happy with monodevelop just use another editor. unity3d does not care in which tool you write your code.
visual studio is great if you like it, other editors like sublime have addons for unity as far as i know.
as for the not compiling: this never happened to me on a mac before and even on windows i had it once or twice in the last year. maybe something is corrupting your project from the outside?
I’m using monodevelop and I’m not talking about variables, when it stops working, you can’t even print a string, but once you restart the entire shebanga it works. It’s a pain to keep restarting Unity every time. I don’t have a SSD drive so it takes some precious seconds to launch.
I’m going to try that, if it works perhaps there’s a way to make it ‘refresh’ automatically every time…
Where can I download the good ole Scite-based editor? Is it still maintained (for example, will it highlight physics2d stuff? (introduced in 4.3)).
I’m going to delete all the metadata and temporary stuff in my project folder but I really doubt it’s going to make any difference.
Thank you for your help guys, I didn’t mean to sound like an ass but I’m really frustrated with Unity recently. Now that they introduced the Physics2D which is a feature I’m waiting since the early days some new annoyances and bugs were introduced… I think that’s just how life works .
Strongly suggest downloading Visual Studio C# express, it is free. Unity produces visual studio project files, so it is painless to use it for editing, and it is muuuuuch more responsive.
Thank you for your suggestion, I don’t think VS supports UnityScript though, however, is it possible that using it may fix the problems I’m having? If so, I would gladly use C# instead. MonoDevelop seems quite nice for C# but it still has a long way to go.
I only find it unusual (to say the least) that the guys have their own ‘language’ (UnityScript/Custom JavaScript) but there’s no decent editor for it. Seriously, it’s impossible to quickly edit a 500k+ lines file without some decent outliner or bookmarking.
http://forum.unity3d.com/threads/222187-THE-Best-C-IDE
In that thread, LightStriker describes using VS and using the UnityVS to make it work. Why I didn’t just type it all out and post the links? One, give credit to LightStriker. Two, I am going to try this right now and had to find the thread anyways. Three, I’m fairly laz- I mean efficient.
Hello guys, I’ve just installed Sublime Text and the Unity plugin for it (GitHub - oferei/sublime-unity-completions: Unity3D Completions - Sublime Text Plugin) and so far I’m really loving it. Sublime doesn’t seem to have an outliner but it’s so easy to find stuff using its intelligent features that I really don’t care. I’ll try it for some more time and I’ll surely buy it if it proves useful. I’m not expecting of course a flawless code completion but I really don’t need one, so fa ST seems really superior in terms of code editing (for a text editor).
Sublime is not very good also, mostly because the autocompletion really sucks (It gets in your way and doesn’t allow you to code correctly, it’s a big annoyance). I always end up wit lots of classes names and stuff that break my code. Plus, I never thought I would say this but I’m really missing the monodevelop autocompleter that analyzes the objects and only suggests stuff that makes sense. Mono autocompletion also sucks because it seems to behave inconsistently (sometimes when an autosuggest item is highlighted it doesn’t actually works, and if you want the item below on the list sometimes you have to press down two times, so you can’t code quickly because you never know what’s going to happen when you use that list, sometimes you have to press X, sometimes you have to press Y and sometimes you have to use the mouse to achieve the exact same thing, that’s plain stupid really).
Talking about UnityScript, unfortunately it’s a matter of choosing the editor that sucks less. I’m surely going to take a look into the competition after I finish this game, I don’t really need 3D (it would take an eternity for my one-man+one-dog studio to make a full 3D game) so I think there are plenty of good (and cheaper!) alternatives out there.
Do it if you can’t do anything in Unity, but IMO you should not blame the Unity that you can’t do things because you’re a beginner and you are not into “3d”. You can also write your own engine that will do everything you want and the way you want.
If you can’t find a single solution that you consider good while everyone else seems to get along alright then it’s likely that the solutions available are not the problem.
By the way… when you’re typing and the autocompleter entries show up, you can use the Escape key to close the list and continue on. Otherwise, the Autocompleter can get quite annoying.
I’m not a beginner and I really don’t want to write my own engine, that’s why I’m going to pay for a working one.
Seriously, I’m making a game based on a prototype I have done in another commercial game engine, I’ve changed to Unity mostly because I want my game to be cross-platform and I was pretty sure it was a better option, however, it seems besides having some really cool features and stuff, Unity also have some really serious dealbreakers.
I have tried a lot of other solutions and they are all perfectly fine, the problem is that most of them doesn’t deploy to the platforms I need OR they have an awkward programming language (e.g. Haxe Monkey). All of them are perfectly fine though imho, I mean they have at least a working code editor with an outliner. It was just unfair from you imho to assume that I’m not happy with the other solutions altogether.
I never thought that a code outliner and a working scripting workflow would possibly be an unreasonable demand. If that’s an acceptable quality for a Unity product, I’m sorry but I’m never going to pay for it.
The worst part is Unity simply doesn’t work correctly and I don’t know how that can possibly be my fault… It’s like being blamed for a meteor that fell over your head. Blaming the customer for a bad product is the shortest path to bankruptcy afaik. Anyone can reproduce the problems I’m having.
I’m not saying Unity is bad, but coding a large project in UnityScript feels just weird… perhaps most users code in C# and use Visual Studio, that’s why they don’t care much about US, in this case they should simply drop US and Boo altogether, I really wouldn’t care. If it’s not supported, better discontinue than keep them as a wonky feature. I could code in C# from the start but I only noticed that coding in US sucks after 90% was done.
If they are all perfectly fine, why did you switch to Unity in the first place? because the other options had “dealbreakers”? I’d be thrilled if choosing which editor I want to use was the biggest dealbreaker I’d ever encounter.
The scripting workflow does work. I’ve written more lines of code than I care to count in C# and UnityScript, in editors ranging from MonoDevelop, to UniScite and Sublime, and never had scripts just “not work”. If the problem is reproducible, why don’t you post the steps that you use to get the issue to show? Then perhaps someone can confirm it’s a bug or point out where you may be going wrong.
I don’t use the 2D features, so they should simply drop them as well. Sound logic, right?
Because I’m planning t launch my game on a multitude of platforms that only Unity seems to support without much pain
I don’t know, I’m consistently having this problem in which the scripts simply stops working (changes doesn’t affect the game). It seems some kind of evil cache or something, anyway, it doesn’t work for me, I’ve tried reimporting everything in a new project and after some time the problems bugs in again. Do you use monodevelop to code in US?
Nope, I’m talking about dropping non-working/unsupported features, not the ones that are working.
Btw, that City Living game seems quite good but I couldn’t access www.*xwiredgames.*com for more info :(.
While I’m not an elitist jerk and feel that people should use whatever language they like, you will find C# to be significantly faster to compile with less bugs, so if it’s a trivial thing for you, switching to C# will not only solve that issue but give you more language capabilities and the all-mighty VS. A no brainer, to be honest.
That is not an editor problem. Unity itself detects changes to the code and recompiles. I have never had it silently not detect code changes and neither has anyone else on team I’m in, so it sounds like some sort of bug you’re triggering. Hard to tell without being able to get the state of your project when it happens.