Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save cjacobwade/3f834316affdc6bc8fc8 to your computer and use it in GitHub Desktop.
Save cjacobwade/3f834316affdc6bc8fc8 to your computer and use it in GitHub Desktop.
Keywords (for each, explain it in a sentence or two, write a script showing its use case):
- virtual/override
- abstract
- sealed
- delegate
- action, func, predicate
- interface
- generics
- difference between a struct and class
Unity Specific Stuff (for each, answer the question/complete the challenge):
1. Profiler:
- Make a scene that runs at a low framerate. Look at the profiler and take a screenshot showing the function and the performance graph.
2. Debugging with breakpoints:
- Set up Unity and your compiler to break on a line of code. Take a screenshot of the breakpoint when highlighted during a break.
3. Attributes:
- What is [SerializeField]? When is it appropriate to use that rather than the public access modifier?
- Write a tooltip for a variable and take a screenshot of you viewing it in the inspector
- Make a single variable that allows you to select multiple enum values
- Expose a float variable with a slider in the inspector
4. Rigidbody:
- What does in mean to be kinematic? What happens when two kinematic rigidbodies overlap?
- Set up a scene where balls fall into a trigger and then have their rigidbody constraints changed to only move on an axis other than y.
5. Components:
- Write a script that adds and removes several components to a gameobject
- Write a script that copies a component from one gameobject to another already existing gameobject
- Set up a scene with many objects in a hierarchy with multiple parent/child levels. In a single monobehaviour with no variables, give all of them rigidbodies and set all their parents to a single gameobject.
6. Physics:
- How many types of physics casts are there? Rank them by performance from least to most expensive. When does it make sense to use each?
- What is Collider.Raycast and when should you use it?
- What is the collision matrix? Where can you find it?
7. Editor:
- Write a custom inspector to show a grid of booleans.
- Write an editor window where you can select prefabs to spawn in the scene wherever you click. Also add in undo functionality.
- What is SetDirty? When does it makes sense to use this.
- Why is it easier to deal with structs that classes when writing a custom editor?
8. Surface Shaders:
- What is the difference between a vertex and fragment/surface shader program? How many times is each run when a scene is rendered?
- Define a color, float and texture property and use each in a shader
- What is perlin noise? Use it in a fragment/surface shader
- How can time be accessed in a shader? Use it to write a wavy vertex or fragment/surface shader
9. #UnityTips:
- What is debug mode in Unity? When is it appropriate to use?
- How do I lock the inspector tab? When is it appropriate to do that?
- How do I maximize a tab in Unity?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment