100 UNITY TIPS!!! 🔥
HTML-код
- Опубликовано: 13 май 2024
- Let's kick off 2019 with a list of 100 Unity tips and tricks!
👕 Check out Line of Code! lineofcode.io/
● Discord: / discord
❤️ Donate: www.paypal.com/donate/?hosted...
····················································································
♥ Subscribe: bit.ly/1kMekJV
● Website: brackeys.com/
● Twitter: / brackeystweet
● Instagram: / brackeysteam
····················································································
► All content by Brackeys is 100% free. We believe that education should be available for everyone.
❤️ Donate: www.paypal.com/donate/?hosted...
····················································································
♪ "ES_Brooklyn Flava 2 - Mattias Andreasson" by Epidemic Sound
♪ "ES_Dress Code_Black - oomiee" by Epidemic Sound
1 Selection Outline 0:35
2 Pixel Perfect Camera 0:40
3 Sprite Y-based Sorting 0:48
4 Destroy delay 0:57
5 Create material from shader 1:03
6 Execute code without empty object 1:09
7 Save changes in play-mode 1:17
8 Random boolean 1:22
9 Struct instead of Class 1:26
10 Auto-statements 1:32
11 Coroutine(ception) 1:37
12 Animation script parameters 1:41
13 Focus in the animation window 1:48
14 Toggle between Curves and Keyframes 1:53
15 Reverse animation 1:57
16 Comparing distances quicker 2:00
17 TextMeshPro 2:12
18 SerializeField 2:18
19 HideInInspector 2:23
20 Rename a variable and keep the value 2:28
21 Folder shortcuts 2:33
22 Focus 2:39
23 Focus follow 2:42
24 Align with view 2:44
25 CompareTag function 2:50
26 Empty objects as dividers 2:55
27 Find objects with Component 3:00
28 Find assets of Type 3:05
29 Easily move lines 3:15
30 Documentation shortcut 3:21
31 Documentation History 3:26
32 Expand/Collapse All 3:33
33 Changing Editor Layout 3:41
34 Change editor colors 3:47
35 Tinting the editor in playmode 3:54
36 Toogle scene effects 4:00
37 Menu Item 4:06
38 Context Menu Item 4:13
39 Hiding layers 4:19
40 Locking layers 4:23
41 Layer sub menus 4:28
42 Global C# Defines 4:34
43 Color Picking 4:44
44 Copy/paste colors 4:48
45 Maximising Windows 4:51
46 Serialize Structs and Classes 4:55
47 Collision Matrix 5:00
48 Collider interaction Matrix 5:05
49 Math in Inspector 5:13
50 Locking the inspector 5:17
51 Inspector debug mode 5:38
52 Debug Log highlights an object 5:46
53 Styling in Debug Logs 5:53
54 Plotting debug values 5:58
55 Add Component shortcut 6:07
56 Importing save files 6:14
57 Keep photoshop layers 6:20
58 Gizmos 6:30
59 Custom Gizmos 6:35
60 Show/hide gizmos 6:37
61 Show/hide gizmos in game view 6:40
62 StringBuilder 6:42
63 ScriptableObjects 6:52
64 Scripts changes while playing 6:58
65 Custom Windows 7:06
66 Custom Inspectors 7:15
67 ToolsV 7:27
68 RectTransform in 3D 7:31
69 Snapping 7:37
70 Snapping options 7:41
71 Vertex grab 7:44
72 Manages Assemblies 7:49
73 WaitForSeconds & TimeScaleV 8:00
74 Cash variables 8:10
75 Never use Camera.main 8:17
76 Performant non-changing strings 8:23
77 Range attribute 8:30
78 Space attribute 8:39
79 Header attribute 8:41
80 Tooltip attribute 8:43
81 Asset Store in Editor 8:46
82 Merge scenesV 8:50
83 Duplicate 8:54
84 Duplicate array items 8:57
85 Editor Presets 9:00
86 Iterate over child objects 9:07
87 Change object order in Hierarchy 9:11
88 Save selections 9:16
89 Regions 9:24
90 Pause Editor through code 9:31
91 Frame Skip 9:38
92 Stats window 9:42
93 Profiler 9:46
94 Measure function in Profiler 9:48
95 Undocking the preview 9:53
96 Mute your game 10:00
97 Invoke Repeating 10:05
98 Frame Debugger 10:10
99 Physics Debugger 10:15
100 *DON'T MAKE AN MMO RPG* 10:20
Took me about 15 minutes.
You are legend.
my hero
You're an animal! Wait, no...you're the GOAT!
God
True hero
These tips really helped to speed up production of my new MMORPG.
Edit: This was meant to be a joke about what he says at the end. I'm not actually working on an MMO.
😲😲😲 😅😅😅
Except for 100
@@cookiesrgood1802 especially 100
same actually
So you finished it then. Congratulations.
Tip 101: If you add code you want to delete later, don't forget to actually delete it later
word.
My own advice for that, before the line you're planning to delete later, add comment "// TODO : Delete", and before the end of your project, go through all of your "TODO"
yeah its not really a tips is just a good way to work
Mark it with // ToDo so it reminds you everytime you inspect your code.
[Obsolete("Method1 is deprecated, please use Method2 instead.")] sounds better to me because it creates a warning for you in the editor. But honestly i've never used it.
#100 isn't as much of a tip as it is great life advice.
Are you sure you don't want to make a science based, 100% dragon MMO with the rest of us?
Very great tutorial video I wish I can make some kind of this tutorial on my channel.
I might.... completely forget about tip 100 xD
Why not? o.O
@@0nsterion try to make))
I noticed that you have more subscribers than unity themselves. Congrats
Same for every company actually
That might be because his tutorials are more updated than Unity's.
Mohammad Nadeem no
lol
its cause he is more dedicated by himself than all the ytb unity team
Awesome video, TIP 3 was a great discovery ! And those bloopers at the end... they really made me laugh ;D !
I actually spent a full day to code a component that would do the exact same thing, but asked a ton of resources instead xD This is a major tip !
Blackthornprod and Brackeys should do a collab together!
Totally
your my dad
Blackthornprod! I've watched your videos before and they were great! Keep it up! I agree.
Tip #100 Don't make an MMORPG is just his way to say: "Don't start with a big project right out of the gate."
Who let the chickens out at 10:54 cracked me up LOL
dont fucking lie, you didnt even grin
@@KarlooAudi whats wrong with you
@@imnotasher4892 I hate fake comments :)
@@KarlooAudi not a fake, i laughed on that too, hopefully you watched this video with audio On
@@BurhanuddinKalawadwala I didn't watch lol, ignore me im idiot
I think this video is by far the most valuable video! Great job and thanks for sharing it with the world!
I always like to watch those "100 things you didn't know about minecraft" videos even though I don't really play minecraft anymore because I just find them really interesting, and with these videos I get the same thing but I'm actually learning useful things too! Thank you for making them :D
TIP #3 made my life A LOT easier. I was checking every once in a while for all the objects and organizing them depending on their Y values, this saves me from a lot of performance issues. Searching all objects, accesing their transforms and comparing them, sorting them, and changing their sorting order
Whoa, AssemblyDefinitions blew my mind! FINALLY a way to reduce compile times, and a way to manage dependencies. Thanks for the great video!
_BRING BACK THE _*_C# CODING TUTORIAL_*_ SERIES PLEASE!!!_
*cough* not using properties *cough*
yes
yes
sey
Gets my vote
Its the first time I reduced the playback speed. Cant keep up.
Same! Because you have to think at least for a while to understand what he's saying and remember it (if you can).
@@tonziss not only that, but it also sounds like he's still talking on the same tip since there's no indication (sound, highlight, etc.) that he's actually on the next tip already. Thus, you'll have to continuously check on the lower left to see if we're on the same page. Even then, I, at least, lose concentration on what he was saying by doing so.
@@DEATHFIRESS yeah, that too. And I also lose my focus when i start thinking about a tip that i find very helpful in my situation and when i come back to reality he's already two tips ahead... : P
tremble in fear before me mortals, as I watch my videos in 2x speed \*lightning crack*
Dude you are the best, I've been following your videos and learned so much. You're courses are better than university courses.
This video is actually awesome, as are all the others you do.
Congratulations @Brackeys, keep the awesome work x)
I'm really considering of starting supporting you on Patreonnnnn
00:47 It's only on tip number 3 & I already learn something very useful!
Nice video as always, good work!
Im literally loosing my mind just at the debug mode in inspector. That is going to be so useful. Thanks for all the tips and everything you do generally, but that really blew my mind.
Awesome video! Being a decently strong Unity user I thought I would know the majority but there were actually a lot that I was completely unaware of. This vid was a great start to 2019 I can't wait to see what this year brings for the Brackeys channel :D
You're the best! Somehow I haven't seen any of your 2019 videos... I'm subscribed to your channel, but they haven't shown up in my recommendations. I'm stoked to see how many videos are available to me! hahah
9:38 I swear to god its like this button never existed before
I have another tip! similar to #24 (Ctrl+Shift+F alight to view), you can press Ctrl+Alt+F to move an object to the focus point of the scene camera. You can also middle-click on any 3D object to focus the camera on that point. This is useful if you wanna place an object on a table or the ground, you can middle click on the spot you want then with the object selected, you can hit Ctrl+Alt+F to place it there.
i rewatch this, and a couple similar videos, everytime i start a new project, because sometimes they have nice tips, but i dont need them at that moment. so its better to find them and use them during a project that requires them to get used to them.
Great video mate, really sold collection of tips! ♥️
I got another string concat Tip, better than concat and more concise than string builder for when you want to just concat parameters.
In Unity versions 2018.3 or newer , you can now use interpolating strings, no more slow GC alloc string concats, nor lengthy StringBuilders.
just add the '$' symbol before your string and you can add the variables you want to concat to the string between '{}'
Example:
var userName = "Bart Simpson"
var age = 99;
$"Hello World, my name is { userName } and my age is { age }"
I saw this one on a BoardToBits video, use it all the time now. Makes me wish we had it in Java/Android.
@@mandisaw Java kinda has it with MessageFormat.forma/String.format
Thanks for the tip on the tip.
@@Pcat0 Yeah, they both have String.format, and I use it, especially for display-localized templates. But it's got many of the issues of old C-style printf, and format''s not as clean/legible or null-friendly, even if $-notation is likely just syntactic sugar.
@@mandisaw So why not use Kotlin for Android?
Each bit of online MMO-discouragement makes me want to make one even more.
Wonderful video! It also works as a self Unity test. It seems that I know 90 out of 100 tips. All thanks to your previous and precious videos👍
Thank you for this video! amazing work!
Tip #101: You can use multiple canvases to increase performance while animating them
Person: Finally after 3 years of work on my MMO RPG i can release it!
*Person watches video*
Person: F*ck...
your positivity is contagious :) thanks for the great tips!
The bloopers explain why u are always smiling xD, all of the time on the edge of laugh. Great video!
*_at _**_10:54_**_ i swear i heard a chicken_*
same
Funny
100 tips :D I think this year is going to be goooood :D
It's very hard even for a team of 100+ people, too much coding, need server maintenance (bc you expect for a lot of people to join), animations and characters, quests, story aaaand, it's too much expensive to be done in a short time of (
@@EVOKZH I don't think Mehmed was talking about the 100th tip.
Thanks for awesome tips and pls more outtakes :)
Amazing video!! Keep up the awesome work!
Bet Next year is gonna be a 1000 tips. Great Video btw.
Still waiting
Still waiting
This didn't age well...
5:28 At first i thought he said "That calls for a civil war" and i was like O.O
Huh... Didn't notice that before.
Incredibly useful! Keep going!
korean reply passing through~!
Your every video makes me happy and helpful. I really thank you!
Couple of these had me saying "How am I just finding out about some of this stuff just now!?". Also on a side note of the mmorpg tip, only if you know what you're doing ;) But ya most people shouldn't touch that, even single player rpgs are very very complicated even for advanced game developers
I'm definitely making an MMO RPG now xD
Reverse psychology level GOD
Good luck with that!
Although I didn't understand a lot of tips, and knew some, I still found a lot of useful things I will definitely use. Thanks a lot! Great video as always!
Great video, I am eagerly awaiting the 1000 tips video!
please explain the ECS and job system in more depth
I want to know *Pure ECS* but I think it's still in preview.
Tip 50: Instead of copy-pasting each field manually after locking inspector, instead Right-Click on the component gear with your desired values, select Copy Component, then on the other component inspector, Right-Click on the component gear and select to Paste Component Values
You're the one who make me those all amazing stuffs so far. thank you for everything.
Reminds me of the old Tips & Tricks live sessions the Unity Learn guys used to do. I've been using Unity for ~3years, and some of these were even new to me. Scene merging!!
I’m pleasantly surprised by how many of these I already knew
#76 won't allocate mem, it will create a literal once and use it, so not every frame just once. Still you can save tiny bit of memory if you use the const, you should do it.
#97 says "on deactivated game objects" but the video is deactivating a component, so not sure if true or just wrong example
Deactivating a gameobject will also treat all deactivatable components as not enabled so it works the same.
Using a string literal directly is the same as creating a const, they all get put in the assembly string table.
Actually these tips gonna save me a lot of time in the future. Thanks, Brackeys!!!!!
As always.. Great Tutorial and Thanks Very much Brackeys!!!
90(9:35) It's better to use Debug.Break to avoid compilation error while building(because of UnityEditor namespace)
Спасибо! Хорошее видео.
@@regtrgrth7907 Brackeys is a best teacher of a ever seen!
its really good job, thanks for sharing
54 tip the best tip!!! I jumped out from my chair, seeing how plotting variables is possible in unity!
Literally paused the episode several times to re-write some code. I'm new at this.
This is my new bible.
This video is a masterpiece. Learned a lot in a short time.
Reeealy helpfull ! :D Nice bloopers too LOOL!!
62 and 76 are wrong!
The examples and reasons are false.
62. When concatenating string literals they are compile time optimized to just one string! (I.e does not create a single string)
76. This might actually be worse than before! *If anything you should use ' const string a = "asdf" ' if anything!* static readonly is going to potentially make loading the variable slower than const.
It also never creates a string! All string literals are contained in the compiled result. So passing in a string literal directly has no performance cost other than passing a pointer.
YESSSSS
Finally someone who understands compiler optimization
stackoverflow.com/questions/21644658/how-to-use-stringbuilder-wisely
you are correct untill concatenations of sise 8, but not sure how runtime concatenation comes into play.
what would happen if they were not literals? would the tip still hold true?
@@naru2906 Which one of the tips?
I thought i knew everything there was to know in unity...
Until i saw this video😂 You’re awesome Brackeys!
Exenerate making games is easier than you think...check out this tutorial on unity by udemy
@@rohithvishwajith4988 damn mate, you are right.
Such a useful video! Love it
A rapid fire stream of steadily epic & awesome information. I consider myself a fair hand at Unity at this point but can't say I knew half of that! Great tips!!! Oh, and the outtakes rocked, too. Thought you were going to drown on us there, hahaha! :D
Tip #100? Challenge accepted! Hold my beer!
Wait, you can merge scenes XD
Right!? That was the most surprising one to me.
@@beardordie5308 so for seemless loading screen would be level 1 loads when near border of -> level 1 & two merged -> load scene 2 when end of lvl 1 & two merge , unload lvl 1 lvl 1&two when distance great enough that don't see lvl 1, this is *mind blown*
This lets you load parts of a scene (I.e. different regions of a big open world) seamlessly without having to pause while loading or consume lots of memory
Well well, who do we have here. Haha.
How can these guys be so silly and nerdy and awesome at the same time??? I am so impressed
THANK YOU SO MUCH THIS WAS SO HELPFUL
#74 should be "Cache variables" rather than "Cash variables" btw
Cache is pronounced like cash.
@@TheSpacecraftX But it is not typing like that.
Yep, I checked comments to call this out as well. Hopefully it's an easy fix, or someone may forever be misspelling it after watching this awesome video.
@@TheSpacecraftX cash yo variables. how bah dah
@Milan Stevic Cache me outside. How about that?
I believe its caching and not cashing?
Caching is pronounced cashing.
@@TheSpacecraftX yeah but he spelt it as cash
@@TheSpacecraftX Why do you keep saying that?
@@TheSpacecraftX Can you not comprehend that it's spelled "cache"? Get that through your thick skull.
@@rodbot can you not see than I spell it cache. I obviously didn't notice that he wrote it as cash. If it didn't know it was spelled cache I wouldn't have written caching would I. Can you get that through your thick skull?
If we could have at least 10% of the level of excitement and enthusiasm you put into your videos, we'll be for sure better developers!
I love this video. Learnt so many new things. Thank you so much
why we should not do an MMORPG? :D
People repeat this due to the sheer amount of work involved. Most of the time when the average person tries they get discouraged and quit and it’s better to start small and actually complete something.
Oh and uh
I don’t listen :P
It's way way way to high level for beginning designers or even intermediate designers if they don't have a team of 20+ people. It's also an oversaturated market so even if you do everything right it still could fail in the long run.
Start small, as small as you can think. One of the first projects I actually succeeded with was recreating asteroids, which made me better understand and grow my skills which helped a ton with my later work.
i really don't understand nr. 100 (seriously)
I'd guess it's impossibly hard, unless you have a team of 100 people at least. Which will still take like 5-10 years. Based on how much it took other MMOs. And then, there's still like really small chance it's going to be picked up by anyone. Oh and not forgetting, you also need a huge budget.
It's not "hard" but just too much work to do.
@@astral2048 That's a really shitty attitude.
Thanks for sharing :)
Great
As always, thank you sir!
16. is just a myth!!! :D Math.Sqrt() is even faster than dividing. Of course it's slower than multipling but not that much. A 100.000.000 iterations of Math.Sqrt() on my i5-6500 takes 596ms (double) which is faster than 100.000.000 iterations of dividing which takes about 700ms on doubles. Multipling takes about 350-400ms. So you should be more scared of dividing in your code than of calling Math.Sqrt() :) From what I read it's implemented in x64 hardware that's why it's so blazing fast :D But never use Math.Pow()! It's 5-6 times slower.
You can test it on your own CPU:
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Stopwatch sw = new Stopwatch();
sw.Start();
double x = 0.0;
// iterates 100.000.000 times
for (double i = 0; i < 1e8; i += 1)
//x += Math.Sqrt(i); // Uncomment to test Sqrt
//x /= 0.1; // Uncomment to test dividing
sw.Stop();
Console.Out.Write(sw.ElapsedMilliseconds);
Console.In.ReadLine();
}
}
PROE yeah, but running this code with vector3 makes it at least 3 time slower. running this actions in update takes frame time depending on power of your device. if you run it on mobile, in update, and many times (for example, for calculating path to many enemies based on distance between tiles) you could easily loose 5 fps on that. 30 fps for mobile is most commonly used standard. so even 3-5/30 - it's not few.
@@SerhiiZhydel My point is that it's not REALLY slow as Brackeys said. If you're not targeting mobile device and don't have milions of vectors to calculate per frame then you can freely use it, it's lightweight... Dividing is more resources demanding. It's just a myth that it's "really slow" and that was my point.
“Dividing” not diving.
@@ethancheung1676 Typos, I was so tired that half of the words were written properly and half not :d Edited, but everyone probably knew what that meant after getting to the end of my sentence where words were correct.
PROE i appreciate much of your findings anyway
I don't agree with Tip no. 100 , i do a MMORPG but a 2D one even if i have to go through hell TWICE.
I can't wait to see where you lead us this year Brackeys, keep the good work up!
Ive been saying the same thing for the past 2 years
thePLAYMODE tint is probably one the most helpful tips i'll ever get for unity
Oh please just stop suggesting to not make use of square roots already, modern CPUs will handle millions of square root operations before dropping the framerate
What's the joke with #100?
It's less a joke and more just game design advice, mmos are games hard to code in a over saturated market (if you haven't noticed the fast amount of mmos coming out recently) they are basically not at all worth the time and effort considering WoW is still the largest mmo out there and it's like 20 years old.
The closest thing to a joke could be the amount of mmos that fail but I'm pretty sure this is just pure advice.
It has absolutely nothing to do with the MMO market being over-saturated. MMO's are about the hardest type of game to make.
Every new Unity developer wants to create MMORPG he knows (ie World of Warcraft) but better! - Of course the scope is too large to be finished by a solo developer (when usually companies with 100+ devs work on it for 4-6+ years)....
@@shadoninja that's why I said both, it's not worth the time and effort because in the end you'll have worked so hard on something for so long that it won't really be worth it combined with the fact that it's in a over saturated market (there's like at least 5-10 mmos coming out a year) that making one just won't really get the value you put in.
Please, never stop making these videos.
Literally the best unity video I have seen to the day
1st
Your first congrats
I didn't think I would use so much of these tips! AnimationCurve is already a life saver!
My mind was blown at least 20 times in this video. Thank you!
I love your channel!
Awesome Tips.......Helps a lot for Unity Developers.....Thank You!
nice video :) , the final was the best tip
I really dont know what could i do without u
Thank you Brackeys
One tip i think is important is using indexors when you have a class that has an important array or list variable in it, like a dungeon generator or something. You can then create an indexor in that script so that other scripts can access that array or list indirectly by just using the name of the variable they id'ed that class with
Absjorn I love watching your videos 😍
7:43 That's the tip I've been looking for longtime! Thanks
You're blowing my mind man
I learned a lot from this, thanks dude
We love your videos can you make a video on how to repeat same animation again and again in each tap/click.
This is 100% my favorite video ever. ❤❤❤
Awesome Video