Can now switch the skeletal mesh on a character

This commit is contained in:
2026-02-17 15:49:52 -05:00
parent 3f975dbada
commit a987754b38
16 changed files with 157 additions and 125 deletions

View File

@@ -0,0 +1,52 @@
# Error Handling in Blueprints
## Format Log Message Node
We have implemented "Format Message", which is an improved version of Unreal's
"Format Text". Unlike "Format Text", it has built-in support to print
vectors, rotations, enums, and quite a few other types.
We have also implemented "Format Log Message", which is like Format Message
except that the output goes to the unreal logs. It might help to familiarize
yourself with Unreal's built-in logging function, UE_LOG. Format Log Message
is meant to be the Blueprint front end to UE_LOG.
Format Message and Format Log Message both require a format string, which
will typically look something like this:
"Hello, {Name}, the weather today will be {Weather}"
When you set a format string such as the one above, the Format Message node
will add pins for the placeholders - in the example above, the pins
Name and Weather would be added. These are wildcard pins that you can
connect any printable value to.
To make a new type printable, look at FormatDataLibrary.h
Format Log Message accepts a severity level, this is directly based on
the severity levels supported by UE_LOG. It adds *ThrottledDisplay* and
*ThrottledLog*, which do the same thing as *Display* and *Log*, except
that output is limited to one message per second.
## The Blueprint Debugger Pauses on Error Messages
The blueprint debugger will pause whenever you log an error message. This is functionality we have added to Unreal.
You can control the severity at which it pauses: in the GameMode, there is a dropdown for the severity level.
You can also effectively turn it off by telling to only pause on fatal errors.
There is a quirk: the debugger pauses before the error gets put into the logs. So when you're in the
blueprint debugger,
the only place the error will appear is in the lower-right corner of the screen, where debugger messages are
reported. You won't see the error in the unreal output log. If you single-step, the error will appear
in the output log as well.
To understand how this is implemented, it helps to understand that log messages in unreal go to a bunch of
different output devices: the unreal editor output window, the visual studio output window, a log file, and
several more places. To dispatch messages to all these different destinations, Unreal has an output device
list that you can add an output device to.
To implement this break-on-error-message functionality, we implemented a pseudo-output-device.
The pseudo device doesn't actually send
the error message anywhere, it just triggers the debugger. For more information about implementation,
see BreakToDebugger.h

View File

@@ -143,3 +143,6 @@ it adds those string to the UlxConsoleOutput. The UlxConsoleOutput
turns those individual lines into one big string. From there,
the LuprexGameMode copies the entire string into the body of
a UMG text widget.
## A Possible new lua print function