More verbose engine warnings/errors (UISizeConstraint, Clouds, etc.)

Some warnings/errors come from the engine itself. However, for some of these warnings, what they say can be confusing at best and impossible to decipher at worst. You could deal with them in Studio if you know where to look, but you can’t do that at runtime unless you have something like InGameExplorer in the place.

What ends up happening is that developers run around in circles trying to figure out where the offending instance is, incorrectly guess the offending instance, test again, get the warning/error again, then repeat. I have two examples of this.

image
UISizeConstraint’s MaxSize error is fine, but this warning doesn’t tell me where it is. If this object is generated with a UI framework, I can’t figure out where it is right away!

image
This is a VERY common error from my experience. I still don’t know where it is in that game I work on, honestly.

For games with custom maps such as FE2 Community Maps or TRIA.os, maps are exclusively loaded in RCC and map makers may not be able to fully debug these warnings because both games do not provide as many debugging tools out-of-the-box, if any.

These warnings/errors need to provide more information, such as the full instance name, stack traces for some warnings, or even better descriptions so us developers can more efficiently get rid of these issues and not spam the error/warning dashboard with the same “Cloud instance must exist under Terrain” warning 500 million times over.

5 Likes

roblox’s warnings and error messages really are not too useful. there have been times ive spent several hours trying to figure out a one variable fix for an error just because roblox never actually tells you what that error is half the time

it was something to do with a vector3. it would tell me i needed to use a CFrame when i passed a vec3 into a function but it would tell me to use a vec3 when i switched it to a CFrame and roblox wouldnt tell me why. i had to get people to point out the issue for me and it tiniest mistake ever. just forgot to pass in the value i was wanting to pass in. but the error was being read in a different function

1 Like

Maybe you should make a Bug Report if the error message is completely wrong. Sharing this anecdotally without any code example won’t help Roblox fix the specific error you are referring to

nah it was because i forgot to pass in 1 variable or just changed one wrongly

and it was a color3 reading as a vector3, but a vector3 replacing the color3 read it as a color3, so im pretty sure i either just wrongly made it a vector3 or passed it in at the wrong place

cant actually see the error looking at old code, but its a path tracing project where im using vector3s to store colour so its not overflowing, and im only guessing what i just said there was the issue judging by this underlined line

and yes, i know this code looks awful, and i have very much improved since this snippet was made, but it would be nice if roblox actually told me what the issue was instead of making one variable have an identity crisis. cause im pretty sure this took a while to figure out since i was way less familiar with roblox’s vector classes

I have a project that requires Cloud instances to exist outside of terrain until needed, I would love if roblox could simply remove that warning, its not helpful at all, and to be honest, clouds should work under Lighting as well.

This warning should be removed and instead be added to documentation.
Also, game:QueryDescendants("Cloud")

1 Like