Warum wird nichts mehr in der Konsole angezeigt?
Moin,
Ich bin ein KOMPLETTER Anfänger im programmieren und hab mir sowas wie nen Programmierkurs gekauft. Doch irgendwie wird in der Konsole nur Errors angezeigt wenn ich was Falsch mache. ich schreibe in den Code:" Debug.Log("Hallo"); " Und nichts wird in der Konsole angezeigt. auch keine Errors sondern einfach nichts. Ich denke es liegt an einer Einstellung die ich mal gemacht habe weil es vor paar Tagen noch funktionierte. Ich benutze die Version 2020.2.2f1. Falls ihr noch irgendwelche Informationen braucht sagt es mir gerne.
Vielen Dank im Voraus!
LG Clemens
![](https://images.gutefrage.net/media/user/malte314/1641413636271_nmmslarge__0_0_225_225_e90e21b3d3b0fa1d33f6e3dda80170d9.jpg?v=1641413636000)
Um welche Sprache und welche Konsole geht es? JavaScript in der Konsole im Internet Browser?
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Oh sorry, es geht um Unity also C#
![](https://images.gutefrage.net/media/user/cleanercode/1712487595293_nmmslarge__371_572_1203_1203_4eb87b925752e760436e518e01bae5c3.jpg?v=1712487595000)
Wo? Welche Sprache? Welche Plattform?
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Unity, C#, PC
2 Antworten
![](https://images.gutefrage.net/media/user/cleanercode/1712487595293_nmmslarge__371_572_1203_1203_4eb87b925752e760436e518e01bae5c3.jpg?v=1712487595000)
Doch irgendwie wird in der Konsole nur Errors angezeigt wenn ich was Falsch mache
Irgendwie logisch. Syntaxfehler führen zu einer Benachrichtigung durch die IDE, dass der Kompilierungsvorgang nicht gestartet werden kann.
Statt
Debug.Log("Hallo");
Probiere einfach mal
Console.WriteLine("Hallo");
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
Er befindet sich im Unity-Kontext. Eine Ausgabe via Console-Klasse wird nicht in die Unity-Konsole geleitet und ist daher kein Ersatz für die Logging-Methoden der Debug-Klasse.
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
Die Klasse Console findet sich im Namensraum System. Um sie verfügbar zu machen, ist dem Programmtext voranzustellen:
using System;
Die Klasse Debug befindet sich im Namensaraum System.Diagnostics. Um sie verfügbar zu machen, ist dem Programmtext voranzustellen:
using System;
using System.Data;
using System.Diagnostics;
Hier ist ein kurze Beispiel für die Verwendung von Debug:
https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.debug?view=net-8.0
Beachte, dass Debugging die Compileroption
/d:DEBUG
verlangt.
![](https://images.gutefrage.net/media/user/cleanercode/1712487595293_nmmslarge__371_572_1203_1203_4eb87b925752e760436e518e01bae5c3.jpg?v=1712487595000)
Ich habe gehofft, dass er selbst auf die Usings kommt - aber so geht's auch :-)
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
Die Debug-Klasse, die der FS nutzen möchte, kommt aus der Unity-API.
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
Dein Skript sowie die Methode, in dem die Log-Methode steht, müssen zur Laufzeit auch eingebunden/aufgerufen werden.
- Lege dir im Hierarchy-Fenster ein Game Object an und ziehe es via Drag & Drop in deine Szene.
- Lege dir im Projects-Fenster (unter Assets) ein Skript an (z.B. mit dem Namen MyScript) und ziehe es via Drag & Drop auf dein Game Object im Hierarchy-Fenster.
- Der Code im Script könnte folgendermaßen aussehen:
using UnityEngine;
public class MyScript : MonoBehaviour
{
void Awake()
{
Debug.Log("Hello world!");
}
}
Hierbei ist wichtig, das Klassenname und Name der Skriptdatei identisch sind.
Des Weiteren wird die Log-Methode in einem von Unity zur Verfügung gestellten Hook aufgerufen (Awake). Eine Auflistung verfügbarer Hooks mitsamt Erklärung findest du in der API-Dokumentation (Abschnitt: Messages). Falls du die von mir genannten Fenster/Views nicht findest, schau ebenfalls in das Manual (Unity's Interface).
Starte im Anschluss den Play-Mode (via Klick auf den Play-Button über der Scene View). Die Ausgabe wird daraufhin im Console Window angezeigt.
Ich bin ein KOMPLETTER Anfänger im programmieren (...)
Gerade deswegen würde ich davon abraten, mit/in Unity C#-Programmierung zu lernen. Fokussiere dich erst einmal nur auf die C#-/.NET-Grundlagen. Konsolenanwendungen in Visual Studio bieten ein gutes, reduzierteres Umfeld für den Start.
Bekomme die Fehlermeldung:"Der Name "Console" ist im aktuellen Kontext nicht vorhanden." Ich weiß schon das ein Error angezeigt wird wenn ich zum Beispiel ein ; nach einem Befehl vergesse ich meine nur das Errors mir angezeigt werden aber sonst halt nichts.