Creating a Cheat Console in Unity

  Рет қаралды 87,207

Game Dev Guide

Game Dev Guide

Күн бұрын

Пікірлер: 194
@PhodexGames
@PhodexGames 4 жыл бұрын
Hey, man just wanted to let you know that I think your tutorials are by far the best I have ever seen. Better then Brackeys, better than anything else. They are not only well made but you also pick relevant topics and topics most other tutorial channels don't cover. I also feel like you are actively working in the industry yourself. The best however is the general presentation, not only visually, but your approach to teaching something is so much better than those step by step tutorials that flood KZbin. You tell us the general idea and roughly show the steps, in how you achieved something. That's great for beginners because they have to do the critical work themselves and learn faster that way, on the other hand, its also great for more advanced game devs because they can just get an idea of the systems you explain and don't have to go through all the steps they already know. Although I would consider myself an experienced developer I learnt something new from nearly every video you made. Well done and best of luck! Markus (Phodex Games)
@jgoglescu
@jgoglescu 3 жыл бұрын
brakeys is better
@PhodexGames
@PhodexGames 3 жыл бұрын
@@jgoglescu You can think that way if you want.
@uxdecipher1724
@uxdecipher1724 Жыл бұрын
@@PhodexGames bEtTeR tHaN bRaCkeYs. Like who the fk are u niqqa
@PhodexGames
@PhodexGames Жыл бұрын
@@uxdecipher1724 Definetly not a niqqa lol.
@goldkat99
@goldkat99 2 жыл бұрын
For anyone stuck the OnToggleDebug method works by using the new input systems send message feature, you need a player input component on whatever game object has the debugcontroller script on it. Once you have that any function that is the name of one of your input actions with the prefix "On" will be triggered when you press that key.
@Pedro_Marangon
@Pedro_Marangon 4 жыл бұрын
I've struggled a lot to find a good tutorial on cheat console and this is the simpler and best tutorial on it!
@vantinhnong2206
@vantinhnong2206 4 жыл бұрын
Can you share your project? If it just a recreation of course.
@Pedro_Marangon
@Pedro_Marangon 4 жыл бұрын
@@vantinhnong2206 i didn't get to implement any version I find, i measure the tutorial by how complicated the code is and how good does the tutorial guy explain it
@vantinhnong2206
@vantinhnong2206 4 жыл бұрын
@@Pedro_Marangon These tutorials are so great but its creator forgot to put it on Github, really sad!
@Pedro_Marangon
@Pedro_Marangon 4 жыл бұрын
@@vantinhnong2206 actually he intentionally don't share the script files. The TLDR of why is that he want to encourage us, viewers, to explore the code by ourselves, looking what he did, understanding it and making our own version
@nagybalint1474
@nagybalint1474 3 жыл бұрын
@@Pedro_Marangon so I won't be able to figure out what to change so this works with the basic input system than great
@ColdOneK
@ColdOneK 2 жыл бұрын
Kudos for a great tutorial. Find it a bit annoying to have to mouse-click in the input field, before you can start typing? Simple -- before drawing the text field, use the GUI.SetNextControlName("name"); then simply use that name with GUI.FocusControl("name"); Your cursor will automatically be in the field. GUI.SetNextControlName("console"); input = GUI.TextField(new Rect(10f, y + 5f, Screen.width - 20f,20f), input); GUI.FocusControl("console");
@mad_man_86
@mad_man_86 3 жыл бұрын
Could this be the single most important tutorial ever made? Leaning strongly towards 'yes' here. Thank you, Game Dev Guide Guy!
@CirbyWeh
@CirbyWeh 4 жыл бұрын
I really enjoy how you do not read out loud what code you write but rather focus on giving us some more information and stuff, while still showing the whole code so that even us beginners can follow along.
@ShiloBuff
@ShiloBuff 4 жыл бұрын
I just created a debug console a few days ago, didn't add input command yet. This video will come in handy, it looks super polished so far. It's great timing. Thank you!
@Madalaski
@Madalaski 4 жыл бұрын
Big fan of these videos! Incredibly impressed by how you manage to make tutorials about things everyone really needs in their games but hardly anyone ever talks about. Just wanted to say that you inspired me to make tutorials of my own and while they're nowhere near the same quality, making them these past few months has really helped in these troubling times.
@TheCellCH
@TheCellCH 4 жыл бұрын
Nice video but mother of god the whitespacing at 5:47 I'll never forget
@andrealupattelli
@andrealupattelli 3 жыл бұрын
ahahaha I totally agree! :P
@efekaanaltas
@efekaanaltas 3 жыл бұрын
Thanks for the amazing video. Here is an OnGUI() function with variables instead of magic numbers, if anyone is interested: (Notice, I feel like there are some errors in the naming. Though my brain is about to melt, so I'm not sure what's supposed to be what. Perhaps you may just leave them as they are, since they aren't too important.) void OnGUI() { if(!showConsole) return; float y = 0; float historyLength = 200; float lineHeight = 20; float inputFieldHeight = 10; float verticalSpacing = 30; float padding = 5; if(showHelp) { GUI.Box(new Rect(0, y, Screen.width, historyLength), ""); Rect viewport = new Rect(0, 0, Screen.width - verticalSpacing, lineHeight * commandList.Count); scroll = GUI.BeginScrollView(new Rect(0, y + padding, Screen.width, historyLength - inputFieldHeight), scroll, viewport); for (int i = 0; i < commandList.Count; i++) { ConsoleCommandBase command = commandList[i] as ConsoleCommandBase; string label = $"{command.Format} - {command.Description}"; Rect labelRect = new Rect(padding, lineHeight*i, viewport.width - historyLength, lineHeight); GUI.Label(labelRect, label); } GUI.EndScrollView(); y += historyLength; } GUI.Box(new Rect(0, y, Screen.width, verticalSpacing), ""); input = GUI.TextField(new Rect(inputFieldHeight, y + padding, Screen.width - lineHeight, lineHeight), input); }
@4KGofMaul
@4KGofMaul 4 жыл бұрын
Cool tutorial, I will definitely be implementing something like this into my current project. My main critique is that if you are going to make use of things like interpolated strings and action delegates, I would at least mention them by name so that people have the ability to search the terms and learn about them independently.
@tiagobarracha
@tiagobarracha 4 жыл бұрын
Ideed, coz I've never seen this style of coding before, and I don't understand it. I can get the logic, mainly because of his explanation, but I still don't understand it.
@dnz8792
@dnz8792 4 жыл бұрын
I don't get it, he should mention about a thing the person don't know to that person go search about it? I think that's too much :P The point of the video is not explain Action or anything else he uses to build the Debug Cheat Console Like Tiago I didn't know what was Action and searched independently Try here, Tiago: docs.microsoft.com/pt-br/dotnet/api/system.action-1?view=netcore-3.1
@4KGofMaul
@4KGofMaul 4 жыл бұрын
​@@dnz8792 How exactly does me saying that he should call them by their correct terms so people can do independent research lead to you making the assumption that I said he should explain how they work?
@hellxsan
@hellxsan 4 жыл бұрын
@Steven Docker I totally agree with you, i'm pretty new in the stuff, i understand many things like the new input system, but in this video are missing some parts. its frustrating to me becouse of 2 things, i did not understand how did he trigger the button without listener in the script and the part with private Action command, i understand now the input thing but the Action remembered me of a delegate . And now i'm confused why i need this and where the hell it is implemented.
@PeterDanielBerg
@PeterDanielBerg 4 жыл бұрын
i've just been hiding all my debug behind intentionally awkward key combos so this looks a lot smoother, i'll try it out thanks
@jbaidley
@jbaidley 2 жыл бұрын
Great tutorial, very well explained. Minor point: Contains() is a poor choice for comparing their input to the list of commands since it will rapidly get confused by commands that share substrings. What you really want to do is to get the left part of the input (delineated by a space or the end of input) and compare that to the command list.
@Adrien13Sanctioned
@Adrien13Sanctioned 9 ай бұрын
Super useful its gotten to the point where I've just made just one script that i can copy and paste into any project and rapidly setup with an input and output text and begun running commands at runtime. Consoles are a great necessity for devs, :3 Course i grew up with Unreal, Unreal Tournament, Harry Potter and the Philosophers Stone and other Unreal 1 Engine games. So command consoles were just fun tools back then but really do save devs loads of hassle even now. Not sure why dev keep steering clear from making them these days, :O
@D3kryption
@D3kryption 4 жыл бұрын
Nice work! I love your tutorials! Will deffo be adding this into my game :D
@rib_rob_personal
@rib_rob_personal 3 жыл бұрын
I was confused about 'Action' type you put in at 4:04. I figured it out by pausing at the right time and noticing it says 'System' on the side. If anyone else is stuck there, all you have to do is type 'using System;' at the very top which will allow you to use the 'Action' type. It might be best if you specifically point out that you have to do something like that in your future videos.
@lordkuuba3517
@lordkuuba3517 3 жыл бұрын
Thanks you really help me!❤
@TheKingmarko123
@TheKingmarko123 2 жыл бұрын
I was stuck here, thanks man!
@eenvulkaan
@eenvulkaan Жыл бұрын
thanks
@jochewi
@jochewi 11 ай бұрын
If it weren't thanks to people like you, many of us would be stuck in tutorials like this. Thanks for adding what the tutorial guy thought wasn't relevant.
@KyuVulpes
@KyuVulpes 4 жыл бұрын
Ok, so I would have done it differently. Mainly, instead of making it an object, make it an attribute. Then when the game starts it looks through every assembly (and if it supports modding, the assemblies it loads) and looks for that attribute. The attribute only requires 1 or 2 parameters; It could require a description but the attribute finder uses the method name as the command, or it can require a command name and description. And to expand upon it, it looks at the parameter's of the method using reflection. I would only restrict it to primitives and strings only. This way is much better imo because you do not have to instantiate anything for the commands; It is done for you automatically.
@harshmudhar96
@harshmudhar96 4 жыл бұрын
100% agree. It's similar to MenuCommand and other attributes used by Unity. With some extra work, you could even add documentation to it. Furthermore, you could make it so some methods can have a parameter that takes a list of characters: for console-like command options.
@harshmudhar96
@harshmudhar96 4 жыл бұрын
Oh yeah, if someone does this, please add tab auto-completion.
4 жыл бұрын
That's a really nice idea, you should really make a tutorial :)
@vitiet8229
@vitiet8229 4 жыл бұрын
This man here deserves more views and subs! This is one of the few game dev channels that provide clean and very practical tips and tutorials. Keep up the good work man!
@adammed8667
@adammed8667 3 жыл бұрын
your videos have by far the highest value on KZbin. However, they are a little bit fast to be honest; I think a bit more explanation would be much appreciated. Or, if you want these videos to stay this short, I suggest you making a complete series on making a full project while using all these professional skills (not the basic stuff which we can find everywhere on KZbin), step by step, and no need to edit and make all these fancy animations and comments, just a simple stream-like video tutorials, which will require zero editing, and I promise many people will enjoy them as well. I am not saying that all the fancy stuff are useless, they are in fact so amazing and attractive. Anyway, wish you the best of luck, and thank you so much.
@toastyshrimp1882
@toastyshrimp1882 2 жыл бұрын
there are a few people that make videos in this format (like Derek Banas) for programmers that just want condensed information. They don't waste literally any time, and the intention is that if something was too fast, you rewind the video. At first this format bothered me for the same reasons it does you; the videos are too fast. After years of dealing with slow, 20 minute videos that explain concepts that could be understood in a tenth that time however, I've come to really appreciate these kinds of videos.
@InsertName0001
@InsertName0001 10 ай бұрын
I'm getting an error around 3:15 saying "Assets\Scripts\DebugController.cs(23,5): error CS0103: The name 'input' does not exist in the current context" (also at (23, 74)) any suggestions on fixing this?
@WesleySales1
@WesleySales1 4 жыл бұрын
One of the best Unity channels on KZbin. Congratulations on the great and hard-to-find content out there based on your game development. The only negative point (but completely understood) is the frequency of the videos. It would be great to have a course at Udemy with only Unity tips and updated by month (for example), it would be an insta-buy.
@RemixProf
@RemixProf 4 жыл бұрын
This channel deserves 1M subs. Thumps up!
@JeloOW
@JeloOW 3 жыл бұрын
is this the #1 tutorial speedrunner?
@scorpion666lair
@scorpion666lair 3 жыл бұрын
This vid is pure gold!!! Thankyou so much for sharing!
@sheffieldk.408
@sheffieldk.408 4 жыл бұрын
Best unity tutorials by far
@Labyrnthdom
@Labyrnthdom 2 жыл бұрын
I agree with everything you said about testing during development. I have said this years ago that the reason for codes and console cmds is to test the functionality of the game. Who in their right mind would play the game to level 99 just to test it.. let's skip.to that level and test it
@AgsmaJustAgsma
@AgsmaJustAgsma 4 жыл бұрын
I've been waiting for a tutorial like this one for ages.
@simoncodrington
@simoncodrington 4 жыл бұрын
Great video mate :) always keen on seeing what dev tools and items you come up with.
@pandaengine
@pandaengine 4 жыл бұрын
This is SO GOOOOD! Very easy to implement and flexible. Thank you a lot!
@あれくす
@あれくす 4 жыл бұрын
Thanks. I hope you continue to make more videos!! Would love to see one for an target box in games like MMO's or RPG's that highlight the enemy with various options or ways to do so. That would be great :)
@cheekymonkey0806
@cheekymonkey0806 4 жыл бұрын
Literally exactly what I needed! Keep up the great vids!
@Mempler
@Mempler 4 жыл бұрын
This is a good channel. Sadly brackeys stopped their channel but this is a great alternative!
@SandwichGamesHeavy
@SandwichGamesHeavy 13 күн бұрын
4:40 how do you avoid the error "you are trying to create a Mono Behaviour using "new". this is not allowed"?
@gavintantleff
@gavintantleff 4 жыл бұрын
Bruhhhhhhhhh I literally just finished doing this and then Game Dev Guide releases an awesome video on how to do it.
@LuRybz
@LuRybz 2 жыл бұрын
Dude, this is beyond average. Thank you again for sharing.
@yasinayas9065
@yasinayas9065 3 жыл бұрын
How can I make so when I press the ` key it also focuses on the textfield?
@gaureeshjr
@gaureeshjr 4 жыл бұрын
really nice Video , Found it really helpful , your are amazing brother
@feliscape
@feliscape 3 жыл бұрын
4:20 Im having problems with the Action command, it says that the type or namespace "Action" was not found.
@thirtythreeq3656
@thirtythreeq3656 3 жыл бұрын
put "using System;" at the top of the script
@あれくす
@あれくす 4 жыл бұрын
How do you get the toggledebug and onreturn functions to actually get called????
@wzukay6648
@wzukay6648 2 жыл бұрын
What should I do if I want more actions on a single command (e.g. give itemID itemAmount)?
@070tahsin
@070tahsin 4 жыл бұрын
Where did u call the Onreturn method??? pls help
@homemacai
@homemacai 4 жыл бұрын
The next Brackeys here for sure!
@shortiez3149
@shortiez3149 4 жыл бұрын
this is perfect. Good job
@J1mW357
@J1mW357 4 жыл бұрын
You could also add an attribute for that if you just want to call a function directly, place an Attribute above it with the command name and the description and you're done with that function.
@Tomyk9991
@Tomyk9991 4 жыл бұрын
Nice idea. I had a similar one, where i am able to mark a method with an attribute [ConsoleMethod("name", int additionalParameters, etc...)]. With reflection i just managed them in a list, like you did. That way, i dont have to manage the list manually, but of course i do have more computional cost at the beginning.
@artemisDev
@artemisDev 4 жыл бұрын
I actually used something like this for commands of a cli app. It'll be real flexible but yea, reflection with take quite a bit of performance for loading, tho i think it's worth it.
@Hietakissa
@Hietakissa Жыл бұрын
Hey, I know this is a very old comment but I'm trying to implement this as well but I've never used reflection before. I made the attribute and got all the methods with that attribute, I just don't know how to create DebugCommands from those methods, like how to create the generic objects and use the already existing implementation of the method in the action
@c0der23
@c0der23 11 ай бұрын
Hey! Great video, i just have one question, at 3:49, is there a reason for not simply using {public get; private set} instead of the extra variables?
@GameDevGuide
@GameDevGuide 11 ай бұрын
Personal preference around readability. Habits formed after working on teams with shared code over the years. Making a private variable, and a public getter is much clearer and faster to parse on large projects in my experience.
@tobiacancelliere6972
@tobiacancelliere6972 4 жыл бұрын
I copied EVERY line of that code. It does not work with the new input system Best I could do is patch it with the old input system by listening in for a "\" key (to open/close the console) and the return key to check the input, but then only if the input field is not selected. What am I missing? Before you suggest it, it's been 3h of me watching every possible tutorial on the new input system and they all have a different method, both between each other and from what it's in this video By this of course I don't mean to put down the work you've done, it's a very well thought and cool tutorial, which is one of the reasons I subscribed to your channel. In my opinion it's missing a likely trivial but critical passage that I can't seem to find
@tobiacancelliere6972
@tobiacancelliere6972 3 жыл бұрын
@@LeoninMinecraft Actually yes. I'm going to copy down the process and code I use right below. • Create a folder in "Assets", I usually call it "Input" or some such • in there I go right-click -> create -> InputActions. I do not generate a c# class for it • I pin the Input Actions menu near the scene/game tabs and fill it with the maps/actions/bindings I want. Remember to save it • on the game object I want listening to commands I add the Player Input component, then drag&drop the InputAction asset created before in the first slot, choose the actionmap I want the game object to be obeying, and as for behaviour choose "Invoke unity events". The rest I leave as is. This is all the "prep work" I go through, the rest is done by code using UnityEngine.InputSystem; public class DebugController : MonoBehaviour { private InputActionMap actionMap; private void Awake() { actionMap = GetComponent().actions.FindActionMap("Debug"); // "Debug" is the actionmap name actionMap.actions[0].performed += OnToggleConsole; // I only activate the toggle console trigger at first // it's not optimal, but I grab the actions from the actions array in the actionmap. VERY dependent on the order BuildCommandList(); //builds the list of commands for debugging - not a part of the input system/actions/etc circus } public void OnToggleConsole(InputAction.CallbackContext ctx) { if (showConsole) { actionMap.actions[1].performed -= OnCommandConfirmed; //IF I want to close the console, I deactivate the trigger to confirm commands showConsole = false; return; } else { actionMap.actions[1].performed += OnCommandConfirmed; //IF i want to open the console, I activate the trigger to confirm commands showConsole = true; return; } } } This is the code I arrived to after much cursing and sweat, and it seems to work for me. If you still have problems, do tell and we'll find some solution I hope. P.S. Technically you should also unsubscribe to actionMap.actions[0].performed when the object you are using is to be destroyed. This way you don't run the risk of triggering some left over code from the trash and crashing the program
@andreashnida5661
@andreashnida5661 3 жыл бұрын
@@tobiacancelliere6972 Thank you so much my friend!
@telli5868
@telli5868 Жыл бұрын
@@tobiacancelliere6972 Hi thanks for sharing your code, What's OnCommandConfirmed ?
@tobiacancelliere6972
@tobiacancelliere6972 Жыл бұрын
@@telli5868 OnCommandConfirmed is a function that is called whenever actionMap.actions[1] is triggered. As this is for a cheat code inserter, I mapped actions[1] to the "enter" key being pressed, as you would at the end of a command input, so that's when the OnCommandConfirmed method is called. The function itself is merely a string parser to recognise the command on input and looks kinda like this (I don't have the code, new pc): public void OnCommandConfirmed(InputAction.CallbackContext ctx) { if( input == commands[1]) Commands[1](); else if (....) .... } Hopefully it's clear enough?
@telli5868
@telli5868 Жыл бұрын
@@tobiacancelliere6972 Ohh yes thanks !
@mrdiamonddog6
@mrdiamonddog6 3 жыл бұрын
I didn't understand most of the code but it works so im not complaining
@KellerG68
@KellerG68 3 жыл бұрын
I probably forgot something but when I enter into the text input mode, the cursor is not blinking and the textfield is not receiving the inputText 🤔
@TheCaboooom1
@TheCaboooom1 3 жыл бұрын
Currently having the same problem...
@dreamworld4203
@dreamworld4203 4 жыл бұрын
thanks for the guide man, Keep it up ♥
@jochewi
@jochewi 11 ай бұрын
I need help... How can I increase the font size? It looks very small
@StigDesign
@StigDesign 4 жыл бұрын
2:45 LOL Nice Edit XD :D :D
@MegaFarciarz
@MegaFarciarz 2 жыл бұрын
Why would you use a List when you have defined a base type for your commands?!
@quantdev
@quantdev 2 жыл бұрын
how do i make a command that has a string as an argument? when i try to change DebugCommand to DebugCommand nothing happens.
@arsouilleur5779
@arsouilleur5779 2 жыл бұрын
Math: *is confused by what the "grave accent" is* Me, a native French speaker: *hon hon hon*
@theloonyllama
@theloonyllama 4 жыл бұрын
can you make an inventory tutorial? all the other ones ive watched or looked at dont make sense or are explained correctly
@paladinramos
@paladinramos 3 жыл бұрын
Wonderful job, but i just wanted to say that i have adapted the scripts to work with the old input system. This new input system needs updated tutorials, on how to integrate and even replace previous code.
@JordanLiver
@JordanLiver 3 жыл бұрын
Would you mind sharing this? I'm having trouble with the OnSubmit aspect. It doesn't seem to pass that key to the Input.
@JordanLiver
@JordanLiver 3 жыл бұрын
Oh nevermind, I found a comment by Mohammed Omar kzbin.info/door/fSzQ3JjiwmuL0SWMH1uA7Q about how to do it. From them: "An easy fix for this is to add these lines at the end of the OnGUI function and remove them from the update if (Event.current.type == EventType.KeyDown && Event.current.character == ' ') { HandleInput(); input = ""; } "
@RiorXD
@RiorXD 4 жыл бұрын
6:40 most important part of the video.
@beefy___
@beefy___ Жыл бұрын
How would you go about that suggestions/search thing you mentioned in the end?
@ThePavilionWeb
@ThePavilionWeb 4 жыл бұрын
good work, well done.
@ChupachuGames
@ChupachuGames 4 жыл бұрын
thanks game dev guy
@kadircalloglu2848
@kadircalloglu2848 Жыл бұрын
i think we can use for all commends enum class with index, so we can reach our goal basically
@oskarz
@oskarz 3 жыл бұрын
Why are we not using properties here?
@TheKr0ckeR
@TheKr0ckeR 2 жыл бұрын
How can we activate directly text writing before clicking to panel? If i open the panel, to write, i need to click it. Is there anyway to make it writeable as soon as we open?
@ermilburn02
@ermilburn02 4 жыл бұрын
I'm having an issue where you have to click into the box to enter text, and click out of it to submit the command. Is this normal?
@Mohammed_Omar_U
@Mohammed_Omar_U 4 жыл бұрын
This isn't an issue at all. That's because I assume that you are using the old input system where the input not associated with global events like the new input system An easy fix for this is to add these lines at the end of the OnGUI function and remove them from the update if (Event.current.type == EventType.KeyDown && Event.current.character == ' ') { HandleInput(); input = ""; }
@rickyfreddy6963
@rickyfreddy6963 11 ай бұрын
Hi there, thanks for this amazing video. I have the system working, however when I press the backquote key to open the console window, the command I type gets a backquote symbol (`) in front of it. How can I prevent this? Thanks! :)
@elite_ramsay1667
@elite_ramsay1667 2 жыл бұрын
I dont know if I missed it but where do I put the scripts and the Input system is it on a empty gameobject?
@mahekthapa9053
@mahekthapa9053 Жыл бұрын
hey there can you please help me to make small command for me? what i want is i press key command panel opens and i type then hit enter then should return string what i typed in command that's it if you interested to help ill provide you plugins
@SpawnCampGames
@SpawnCampGames 4 жыл бұрын
Super useful
@panickal
@panickal 2 жыл бұрын
Can I find the code online? I don't get why you wouldn't put it online.
@crazygames1144
@crazygames1144 3 жыл бұрын
Can u give me the source code cause I dont understand it at all It keep giving me in error
@y01cu_yt
@y01cu_yt Жыл бұрын
Thanks!
@xylodine
@xylodine 3 жыл бұрын
every time i try to fix an error, another one pops up. i dont have the input system in my version, (or at least i dont think) and if i try to switch my project version to a newer version, everything gets corrupted. please help!
@aliengarden
@aliengarden 2 жыл бұрын
There's a nice package called InGameDebugConsole that does this for you.
@telli5868
@telli5868 Жыл бұрын
Hi, i've found it but i can't find where do i bind the key to open it ?
@jupit3r131
@jupit3r131 2 жыл бұрын
Scriptable objects would make this awesome
@ys4you632
@ys4you632 Жыл бұрын
hey idk if anyone can help me but i got an IndexOutOfRangeExeption here: "(_commandList[i] as DebugCommand).Invoke(int.Parse(properties[1]));" idk what it is does someone else know vid point: 7:20
@Warpgatez
@Warpgatez 3 жыл бұрын
Mentions rosebud. Receives a like and sub. Ultimate KZbin cheat code.
@antonclark608
@antonclark608 3 жыл бұрын
Having trouble adding strings instead of ints, I dont know how to properly invoke it. Anybody got any ideas?
@mordiemannogenost69
@mordiemannogenost69 2 жыл бұрын
Crap, I know this is kinda unrelated but I just have to share my pain... I was going to a unity project I had in the windows file explorer and pressed CTRL + D for duplicate. Turns out it deletes the folder instead... and I have automatically clean Recycle bin on.
@БерёзоваяКора-ц4ч
@БерёзоваяКора-ц4ч 2 жыл бұрын
thank you
@colicpizza4168
@colicpizza4168 Жыл бұрын
How do I move console to the bottom of the screen?
@LeithHussain
@LeithHussain 3 жыл бұрын
could you release the code? it is a bit too hard to follow as you are going so quick
@jochewi
@jochewi 11 ай бұрын
It would have been great if you had explained how you did the actions or at least what parts of the code you should skip if you want to activate it another way.
@walterwhite42068
@walterwhite42068 4 жыл бұрын
Please guide me on how to have the autocomplete working with this console.
@PhodexGames
@PhodexGames 4 жыл бұрын
Well, whenever you type a new character in the input (check the length of the input string) search your list of commands if they contain the entered letters (command.Contains(input)) and then just display the list of fitting commands on-screen. Then if you click on an entry from that list just execute the regarding command. You can of course advance this with more functionality if you want, but that should work pretty well as foundation.
@crazist228
@crazist228 Жыл бұрын
here is add. If you write set_gold / with space after command it will be parce exeption. Also if you do not check count and write just set_gold. If you need here is solution private void CheckCommand() { if (_showConsole) { string[] properties = _input.Split(' '); for (int i = 0; i < commandList.Count; i++) { DebugCommandBase commandBase = commandList[i] as DebugCommandBase; if (_input != null && _input.Contains(commandBase.comandId)) { if(commandList[i] as DebugCommand != null) { (commandList[i] as DebugCommand).Invoke(); } else if (_input != null && commandList[i] as DebugCommand != null && properties.Length > 1) { if (int.TryParse(properties[1], out int value)) { (commandList[i] as DebugCommand).Invoke(value); } } } } _input = ""; } }
@abhisheksuper20
@abhisheksuper20 4 жыл бұрын
Awesome!!
@GrandHighGamer
@GrandHighGamer 4 жыл бұрын
Worth knowing: It's the ` (grave accent) for UKers, but that key is ~(tilde) for Americans, and every now and then a game will code it poorly and so trying to type an apostrophe will open console.
@GrayFernandez
@GrayFernandez 4 жыл бұрын
Am I the only one where who gets errors because of the Action Object? Is Action a class he created in another tutorial? I have an error because of Action, the type or namespace name "Action" can´t be found
@PMAndrews
@PMAndrews 4 жыл бұрын
add using System; at the top of the script
@sayama2082
@sayama2082 4 жыл бұрын
Just a quick question, I know how to use the inputSystem with the "CallbackContext" but, how do we use the "InputValue"? I never see where we could use it....
@dakalamin
@dakalamin 4 жыл бұрын
InputSystem supports different types of joysticks and gamepads. So sometimes you may need a particular value of for example an x axis of the left stick of PS4 controller when callback happens. That's the situation when the InputValue makes sense
@Wildy333
@Wildy333 4 жыл бұрын
Confession: I know nothing about the Input Actions system and have no idea how go about finding it.
@Wildy333
@Wildy333 4 жыл бұрын
Feel silly but found out. Had to go to Package Manager and install the Input System.
@infernojoe
@infernojoe 3 жыл бұрын
Do you have the project repository?
@eenvulkaan
@eenvulkaan Жыл бұрын
Now how do we use arguments in this?
@Rokyloreq
@Rokyloreq 3 жыл бұрын
Hello there is no action Thing in my code when i write it i get errors
@ryanjacoblover
@ryanjacoblover 3 жыл бұрын
i am very confused i have like 75 bullion errors and no idea how to fix them
@nocultist7050
@nocultist7050 4 жыл бұрын
Can you make video on best way to update information in UI?
@Agent_Ax
@Agent_Ax 4 жыл бұрын
Waiting For New Tutorials :) Something Like How To Get Max Graphics In Unity
@panickal
@panickal 2 жыл бұрын
Hello can anyone help? != null doesn't work, my code is the same as the video, if I make the if statement == null it finds it null and I can still invoke it. This worked for fixed functions but I can't pass in variables with this issue. FIXED! I had the DebugCommand script be a monobehaviour because I thought it needed to exist as a component to work.
@Pachink0P
@Pachink0P 2 жыл бұрын
thank you! this fixed my issue :)
@JB-iz8bi
@JB-iz8bi 4 жыл бұрын
Awesome
@REnz3rO-p6w
@REnz3rO-p6w 3 жыл бұрын
what the program he used?
@raingayming
@raingayming 2 жыл бұрын
unity
@TheKAIKO198
@TheKAIKO198 4 жыл бұрын
Nice video! Could you make some tutorial about spell system on RPG? It would be great!
Creating A Replay System In Unity
19:39
Game Dev Guide
Рет қаралды 6 М.
11 Things You (Probably) Didn't Know You Could Do In Unity
13:49
Game Dev Guide
Рет қаралды 156 М.
How Many Balloons To Make A Store Fly?
00:22
MrBeast
Рет қаралды 197 МЛН
Unity Game Hacking with dnSpy
14:15
John Hammond
Рет қаралды 62 М.
Speed Up Compile Times in Unity with Assembly Definitions
9:54
Game Dev Guide
Рет қаралды 93 М.
Designing a Loading Screen in Unity
11:57
Game Dev Guide
Рет қаралды 182 М.
I Created a (terrible) Video Game Console
9:21
Sebastian Lague
Рет қаралды 2,4 МЛН
ПОЧЕМУ ВСЕ ТРЯСЕТСЯ в UNITY ?
39:14
Eccentric Games
Рет қаралды 58 М.
5 Things You Can Do To Make Games Like A Pro In Unity
9:45
Game Dev Guide
Рет қаралды 116 М.
Making a Modal Window in Unity
10:02
Game Dev Guide
Рет қаралды 63 М.
I Wish I Had Known This Before I Started Unity Game Development...
11:11
Dear Game Developers, Stop Messing This Up!
22:19
Jonas Tyroller
Рет қаралды 756 М.
How to start Gamedev in C++
5:58
Low Level Game Dev
Рет қаралды 80 М.