Unity Newbie FAQ — What does that mean?

A. Lynn Ferguson
4 min readApr 10, 2021

Welcome to Unity! If you’re new, and confused, this will help.

If you’re here, chances are you’re just starting your Unity journey, but sometimes someone throws around a term you don’t know. Did someone ask you what IDE you’re using? Did they tell you to use Breakpoints instead of Debug.Log? Only, you have no idea what any of that means? Here’s a list of helpful terms.

Note: This list may be continually updated.

Breakpoint — By now you’ve (hopefully) gotten used to putting Debug.Log lines everywhere. These are useful if you’re trying to figure out if a Method is being invoked, or for print out values to Console. But if you really want to Debug your problem, look into Breakpoints, because they expose much more info than Debug.Logs can. They are 110% better than Debug.Log, and are the main reason you shouldn’t just rely on Notepad++ to do programming.

Tip: If you get really serious about programming, consider a program like Jet Brains Rider, which shows more Unity-related information than Visual Studio does.

God-Object — God-Objects happen when someone starts a script; then adds a little to it; then a little more; and more; and before anyone knows it — Bam. The script is over 700 lines long, hard to navigate, and handling way too much at once. While this isn’t an end-of-the-world situation, if one of your scripts has reached around 500 lines long, it’s time to start thinking about how to re-organize (aka, “refactoring”) your script in smaller, smarter, more manageable bits of code.

Tip: If you’re still new, don’t worry about this now. But if you keep programming, look up “SOLID” principle programming.

IDE — Stands for “integrated development environment”. If someone asks you “what IDE are you using?”, they’re simply asking you “Where are you writing your C# code?.” Hint: Your answer should be something like “Visual Studio Code” or “Sublime Text” (both are free). If you answer “Notepad”, don’t be surprised if people stop helping you until you get something better.

Intellisense — Have you ever typed something into Google, and saw that Google was trying to complete the sentence for you? Imagine if your Notepad started completing your code for you? That’d be sweet, right? That’s exactly what Intellisense does when you set it up correctly. But it’s a separate, extra process to set it up, even after you install Visual Studio for the first time. Here’s a link to help.

Library and Artifacts — A Unity project is split into two pieces: 1 ). The “Assets”, which are things made in your project, for your project, and will not live outside of your project. And 2 ). The “Library” and it’s Artifacts, which are also technically a set of Assets too. But these are different because they are made to serve multiple projects; millions of them, even. Which is why they live outside of your project proper, because they really shouldn’t be changed.

Pastebin/Hastebin/Hatebin — At some point or another, something is going to break in your code and you’re going to hop on a Discord or Unity forum to ask for help. When that time inevitably comes, make it easy on everybody and copy your code into a Pastebin site like this one. When you press save, you’ll get a temporary link that you can share with others, and it makes life much easier than trying to make out a mangled “snippet” screenshot (Please don’t send a screenshot… Please).

Refactor/Refactoring Code — This is just a nifty way of say “re-writing code for improvements.” Sometimes that can simply mean breaking up one big script into smaller scripts. Other times, it means re-writing bits of complicated, complex code to be shorter and more efficient. The more you program in Unity, the more you’ll see opportunities and reasons to refactor your code.

Tip: Some IDE programs, like JetBrains Rider, allow you to refactor code simply by right-clicking on a line.

“Spaghetti Code” — If you hear this, it means someone has scattered their code into too many places, between too many objects, unto the point that it’s now too hard to figure out what is going wrong. Ideally, your scripts shouldn’t be huge, but they should till be somewhat organized. Ex: All score-related functions, and objects related, should be addressed and contained in one ScoreManager.cs script, rather than having one function on that script, and another over there- etc.

--

--

A. Lynn Ferguson

A. Lynn Ferguson is a Prototyper III with Facebook Reality Labs and a quintessential child of the internet who loves all things media and digital. With a degree