That sounds like a good compromise to me! Disabling them is high value, low maintenance. Will do this for the next release of QC
I think QC should have some better non-static commands handling. I mean that it would be ideal if we can click on the object in viewport and call some [Command]s on it. I just made the script that polls user to âCtrl+Clickâ on an object (That raycasts and searches for some QuantumConsoleClickable script and memorizes the first instance of it if any) and then a command âexecâ that takes in a component name and function name
[Preserve]
[Command("exec")]
private static void ExecuteOnPickedObjectInViewport(string component, string function)
{
pickedObject.GetComponent(component).SendMessage(function);
}
The 2 major problems with this approach is that you are unable to pass arguments to the callee and you donât have autocomplete for component/function parts of the command
I think a solution would be next:
- Add
MonoTargetType.SelectedInstance
- In the function that does raycasts logic we call something like
QuantumConsole.Instance.SetCurrentContext(myObject)
- QC switches to context-aware mode where you get all autocomplete for all commands defined on âcontextâ object scripts
Btw, it requires developers to define colliders on objects to be able to click on them to pick the instance, but I think itâs not a big deal
Edit: I just literally did the same routing through memorizing gameObject instanceId of the clicked object and checking if the instanceId matches in the [Command(MonoTargetType.All)] function but that implies adding these checks in all functions that act as instance-commands
Also a copyable-on-click text regions would be nice feature to have. For example, I log something like âRelay room created, room code {roomCode}, use âjoin <code>â to join multiplayer gameâ and console logs a button-like text region with room code that can be easily copied by just clicking on it
Quantum Console doesnât show in Windows build on specific computer
Iâve been experiencing an issue recently where the QC console will not show in a Windows Build on a specific laptop computer (although it has worked previously). The QC console will show on my other desktop computer, and the console also shows OK on both of the computers inside the Unity Editor. Iâve tried using âShow Consoleâ, âToggle Consoleâ and also âActivate on Startupâ - they all work in the Unity Editor, but not in a Windows build on my laptop, yet they work OK in a Windows Build on my desktop computer.
I am using Unity version 2022.3.10f1, URP, Quantum Console 2.6.6
I have seen some other similar issues on both Discord and the BitBucket issue tracker and I have tried any advice given there, but without success. Is anyone else having this issue, or is it perhaps a known issue that is currently being investigated?
I have also tried completely removing the QC package and reinstalling it, making a clean build and making a development build, without any success.
My primary use for Quantum Console is in a build on my laptop, using it to change game settings while people playtest my game. Without it working on this laptop, I am really stuck.
I love QC, itâs been fantastic debugging multiplayer.
Any plans for adding filtering or searching for the console output?
Hey @IC1 ! In your suggestion would SelectedInstance then still require the user to do the raycasts and set the current context or would this be handled automatically by QC? If the user is still doing it I think you can currently achieve this by using the object registry, and only adding in objects that are selected. I think that would work for 1 and 2 but not 3
Interesting - so if you have something set in this object context, then youâd apply a suggestion filter to only suggest commands that could potentially be valid on this type? I wonder how we could do this efficiently and intuitively, definitely lots of questions to answer
Glad you like it! No current plans but feel free to put a request into the issue tracker, ideally with an example use case
Trying out Quantum Console and randomly getting this error on start
Assertion failed on expression: 'm_GameObjects.find(gameObject.GetInstanceID()) == m_GameObjects.end()'
UnityEngine.StackTraceUtility:ExtractStackTrace ()
QFSW.QC.QuantumConsole:OnEnable () (at Assets/Plugins/QFSW/Quantum Console/Source/Scripts/QuantumConsole.cs:1026)
What version of Unity are you on? Seems like an internal error in the engine
Hi. I was wondering if there is any console command that I can create without showing up in the auto completion or list of custom commands. This is so that I want a hidden console command that actually unlocks the other debug command options. But I donât want that hidden command to be available to the public.
I was gonna ask the exact same thing!
Your best option for this would definitely to be to write a SuggestionFilter
https://www.qfsw.co.uk/docs/QC/articles/extending/suggestion-filters.html
This will let you stop these commands from being suggested or autocompleted - if people type the command in correctly anyway however they will still work
Hope this helps
I found that QC seems to only be able to use its functions at Runtime. Can it be used in the Editor as well? This way, I donât have to select objects every time I want to make adjustments; Iâm tired of having to select some objects and then change the data in the Inspector panel every time.
Hello @QFSW. I recently bought and use this package.
This package make my work faster, good job and thank you.
But, I donât know if this question already ask. When ongoing typing a command and QC shown a recommended command, it would be nice if I can choose using an arrow up or down button instead of by clicking it.