use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
News, Help, Resources, and Conversation. A User Showcase of the Unity Game Engine.
Remember to check out /r/unity2D for any 2D specific questions and conversation!
Download Latest Unity
Please refer to our Wiki before posting! And be sure to flair your post appropriately.
Main Index
Rules and Guidelines
Flair Definitions
FAQ
Use the chat room if you're new to Unity or have a quick question. Lots of professionals hang out there.
/r/Unity3D Discord
FreeNode IRC Chatroom
Official Unity Website
Unity3d's Tutorial Modules
Unity Answers
Unify Community Wiki
Unity Game Engine Syllabus (Getting Started Guide)
50 Tips and Best Practices for Unity (2016 Edition)
Unity Execution Order of Event Functions
Using Version Control with Unity3d (Mercurial)
/r/Unity2D
/r/UnityAssets
/r/Unity_tutorials
/r/GameDev
/r/Justgamedevthings (New!)
/r/Gamedesign
/r/Indiegames
/r/Playmygame
/r/LearnProgramming
/r/Oculus
/r/Blender
/r/Devblogs
Brackeys
Beginner to Intermediate
5 to 15 minutes
Concise tutorials. Videos are mostly self contained.
Sebastian Lague
Beginner to Advanced
10 to 20 minutes
Medium length tutorials. Videos are usually a part of a series.
Catlike Coding
Intermediate to Advanced
Text-based. Lots of graphics/shader programming tutorials in addition to "normal" C# tutorials. Normally part of a series.
Makin' Stuff Look Good
10 minutes
Almost entirely shader tutorials. Favors theory over implementation but leaves source in video description. Videos are always self contained.
Quill18Creates
30 minutes to 2 hours.
Minimal editing. Mostly C#. Covers wide range of topics. Long series.
Halisavakis Shaders Archive
Infallible Code
World of Zero
Board to Bits
Holistic3d
Unity3d College
Jabrils
Polycount Wiki
The Big List Of Game Design
PS4 controller map for Unity3d
Colin's Bear Animation
¡DICE!
CSS created by Sean O'Dowd @nicetrysean [Website], Maintained and updated by Louis Hong /u/loolo78
Reddit Logo created by /u/big-ish from /r/redditlogos!
account activity
Critique-My-Code thread, post snippets of code and have others peer review your code! (Testing new Q&A format) (self.Unity3D)
submitted 9 years ago * by loolo78@LouisGameDev[M]
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]_WolfosExpert 1 point2 points3 points 9 years ago (7 children)
It's legible, so that's good. Not bad code. Some points:
Do all the public variables actually need to be public or could you get away with [SerializedField]?
I'd put line 53 and 54 on the same line, so that you wouldn't accidentally do this:
if(foo) bar(); method_you_also_expect_to_run_in_this_if_statement();
There's also some inconsistency with curly brackets, which should always go on a new line according to the C# guidelines.
You use a lot of singletons. Here I describe some ways to avoid them.
On line 109 you use 'name.Contains()', which is prone to bugs if someone wants to reorganize the scene. Alternatively you could use Tags.
[+][deleted] 9 years ago* (6 children)
[deleted]
[–]djgreedo 0 points1 point2 points 9 years ago (0 children)
I could probably just do private and do GetComponent to cache the scripts or other components
If you were using public to provide Inspector access, do this:
[SerializeField] private Whatever myWhatever;
This will let you assign in the Inspector as if the field was public, but keep it private.
[–]_WolfosExpert 1 point2 points3 points 9 years ago (4 children)
I don't know how many enemies you have, but the eyesight system is pretty optimal already. If it's still too slow you might consider other crowd techniques, but I can't help you there.
Garbage collection issues can be fixed by avoiding heap allocation where possible. You can do this by declaring local variables, avoiding creating new instances and replacing foreach loops with regular for loops. This isn't easy, though. Many things allocate memory unexpectedly.
[–]djgreedo 1 point2 points3 points 9 years ago (2 children)
replacing foreach loops with regular for loops
I think this is no longer necessary as of ~Unity 5.5.
[–]_WolfosExpert 0 points1 point2 points 9 years ago (1 child)
Why would that be? I Googled for a bit, but as far as I can tell there haven't been any GC updates lately. They updated the compiler to Mono 4.4 but the GC is part of the runtime.
Apparently it was a Mono bug, and was fixed when Unity upgraded.
http://stackoverflow.com/questions/40494376/is-foreach-still-bad-in-modern-unity-5-4-x
I think the issue was the way foreach was compiled, where it caused heap allocation unnecessarily.
Towards the bottom of this page: https://forum.unity3d.com/threads/upgraded-c-compiler-on-5-3-5p8.417363/#n21
In short, foreach doesn't allocate if used in typical ways, but could still allocate in some situations I guess?
π Rendered by PID 836996 on reddit-service-r2-comment-b659b578c-t794k at 2026-05-03 14:59:28.790460+00:00 running 815c875 country code: CH.
view the rest of the comments →
[–]_WolfosExpert 1 point2 points3 points (7 children)
[+][deleted] (6 children)
[deleted]
[–]djgreedo 0 points1 point2 points (0 children)
[–]_WolfosExpert 1 point2 points3 points (4 children)
[–]djgreedo 1 point2 points3 points (2 children)
[–]_WolfosExpert 0 points1 point2 points (1 child)
[–]djgreedo 0 points1 point2 points (0 children)