Created
October 24, 2015 17:40
-
-
Save cjacobwade/3f834316affdc6bc8fc8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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