SRDebugger - On-Device Console, Options Panel, and Bug Reporter.

That is odd, it seems to work fine when performing a local build.

Perhaps you could run a pre-build script that opens the Unity editor and invokes a custom method that calls SRDebugEditor.SetEnabled(false); ?

https://docs.unity3d.com/2022.1/Documentation/Manual/UnityCloudBuildAdvancedOptions.html

Script hooks-Pre-Export Method Manipulate project files before the project is built. Examples include copying variables from an external file into the project, processing Assets, or working with plug-ins
that require special treatment

Hey guys, any reason why my options would show in the editor but not in the build? Thanks

Hey,

Which platform are you building for? Is IL2CPP enabled? Could you check what the “Managed Stripping Level” setting in the player options is set to?

Hi, I’m reading this close to a year later, having hit the same issue
 I still don’t see any such feature? It would be really useful.

I posted again about this a later on the same page: https://discussions.unity.com/t/566514 page-14#post-7947547

The requested functionality is already available:

@Simie , could you please add support for long to NumberControl.ValueRanges?
I did it manually, but would be nice to also have that in next version if I update.
Thanks!

1 Like

Hello,

I am currently using SRDebugger 1.12.1. When running SRDebugger on my device and viewing the console logs, I noticed that only one line is displayed and the complete log is not shown.

For example, in the Unity editor, the log message appears as follows:

“BoxColliders does not support negative scale or size. The effective box size has been forced positive and is likely to give unexpected collision geometry.”

However, when using SRDebugger on the device, only the following portion is displayed:

“BoxColliders does not support negative scale or”

I have tried tapping on the log or adjusting different options, but only one line is shown. Is there a way to view the complete log on the device?

Thank you for your assistance.

Hello,

I would like to enable and disable the SRDebugger at runtime.
So, I disabled the automatic loading and I do a check at app startup and run SRDebug.Init() if necessary. However, the screen-corner Trigger still works and opens the debugger even though I never called SRDebug.Init(). Should it?

What’s the proper way of disabling the SRDebugger trigger at runtime?

Thanks!

Hi @kankane ,

SRDebugger will only auto-initialize if the automatic loading setting is enabled in the settings menu. However, any calls to the SRDebugger API will also trigger initialisation. (SRDebug.Init() is just a shortcut to trigger init without having to make any other API calls).

Could you double check if you’re using the API from your scripts in a way that might be triggering init?

(sorry for the delay replying, I didn’t see the notification for this thread)

This is unusual, you should be seeing the full log message at the bottom of the screen after tapping on the short message.

Could you let me know which device you are seeing this on, and which version of Unity? Thanks

Ah, ok, understood. I didn’t know any API call will effectively call Init. I definitely have SRDebugger calls all over. For now I just find the Trigger in the hierarchy and destroy it.

You can use the API to disable the trigger:
SRDebug.Instance.IsTriggerEnabled = false;

1 Like

Hello. We are using SR Debugger in our project and recently it has stopped working.

SRDebug.Instance.ShowDebugPanel(); returns a null ref. It seems the instance is not being registered for some reason?

Are there any steps we can take to narrow the issue?

Unity version 2022.3.5.

Hi, can you tell me what platform this is on? Most likely this is an issue with reflection, which may be impacted by IL2CPP and your stripping settings. Was there any change in your project configuration or Unity version prior to this issue occurring?

https://docs.unity3d.com/Manual/ManagedCodeStripping.html

Hi, I’m using SRDebugger and have a couple of questions:

  • when a user sends a bug report, I only get the last couple of hundred log lines, even though I’ve set the Maximum Console Entries to 4000
 this has prevented me from getting to the bottom of a number of bug reports. Even looking through the code, I can’t work out where the stricter limit is being applied. Is it server-side? Like is there some maximum size in bytes being applied or something? And is there no way around this limit?
  • often the error notification exclamation mark (at the place where I triple-tap to bring-up the menu) flashes when there are no error log lines (in fact nothing in the logs to indicate any error), and I can’t work out why it flashed. What else can cause it to flash?
  • I really would like a way to tell SRDebugger when a value (for values that I setup using DynamicOptionContainer) has changed (so that the values in the menu update without having to leave it and go back into it). I understand there currently isn’t any way to do this, but could this please be added?

In the console, it looks like when color tags are used and the preview line goes past a certain amount it can stop the colors from displaying properly. (guess because it’s cutting off the closing tag)

9585928--1357720--upload_2024-1-17_10-49-26.png

Also what’s the state of this asset? I think there was supposed to be an update, did that ever happen? Store shows last update in mid 2022.

There is no limiting code on the server-side for this. There is a max request body size but exceeding that would result in the report not being delivered at all, which doesn’t sound like what you’re seeing here.

It sounds like the max log messages setting could be getting ignored for some reason.
Can you try hard-coding a value in
SRDebugger\Scripts\Services\Implementation\StandardConsoleService.cs
_allConsoleEntries = new CircularBuffer(Settings.Instance.MaximumConsoleEntries);

and see if that helps?

It should only be appearing if there is an error message. I’ve never seen this before so am unlikely to be able to repro on my machine.
Can you try sticking a log in
C:\Programming\SRDebugger\SRDebugger\Staging\CurrentVersion\Assets\StompyRobot\SRDebugger\Scripts\UI\Other\ErrorNotifier.cs
public void ShowErrorWarning()
{
_queueWarning = true;
}

and checking the callstack when it happens? The only usage is the event handler for an error occuring so it’s quite confusing how this could happen on its own. One possibility is that the prefabs have become corrupted but if that was the case it should be showing constantly.

You can do this via your OptionDefinition

OptionDefinition yourDefinition = 
;
yourDefinition.Property.NotifyValueChanged();

Thanks for the report, trimming needs to take into account the color tags if rich text is enabled. I’ve added this to my bug list.

The asset has been stable for quite some time, with only minimal fixes required for new Unity releases (no Unity update breakages in the past year, for example). I do plan to release further updates with accumulated bug fixes (some mentioned in this thread) and some minor features, and of course maintain compatibility with new versions of Unity, but for the time being no major new features are planned.

Any updates on this? Was looking to do this myself today and it doesnt exist.

Is anyone aware of an XR-ready implementation of the SRDebugger? For example, I’d like to use the debug panel in world space while developing on Quest 3 or Apple Vision Pro.

I see that we can toggle EnableWorldSpaceMode() to create a world canvas, but there’s still work to be done if we want to be able to interact with that world canvas (scrolling through logs, pressing the UI, etc). I can envision creating that, but I wonder if anyone has done that already.