Console

What PulseFoundation adds to the Unreal console: commands of the Pulse Debugger and PIE, cheats for debugging, the message bus and UI themes, and the log categories.

Console variables

The debug tools (timeline, reports, cheat extensions) are switched in the project settings. The editor tools have these console variables (editor only):

Variable Default What it does
Pulse.Editor.Cards 1 Shows instanced struct lists of registered Pulse types as cards in the details panel. 0 shows the engine rows.
Pulse.Editor.PreviewAutoExposure 0 Pulse preview viewports use the automatic exposure of the preview scene, which changes while the camera turns. Also in the View menu of a preview.
Pulse.Editor.PreviewEV100 -4.5 Fixed exposure (EV100) of Pulse preview viewports while the automatic exposure is off.

Commands

Command Where What it does
Pulse.Debugger [page] editor, game (Debug, Development, Launch Game) Opens the Pulse Debugger. Page: Overview, Reports, Live, Timeline or the id of a plugin page (PulseOnline.Online).
Pulse.Start [Plugin\|All] [Tab] [Anchor] editor Opens the Pulse window, on a plugin (its name or the name it shows) or All plugins, on a tab (Workflow, Docs, Versions, Settings); on Workflow the anchor is the id of a setup step whose row opens (Workflow).
Pulse.Workflow.WriteDocs [Plugin] editor Writes the generated workflow blocks of the docs of a plugin (getting-started.md, index.md), of all plugins without a name (Workflow).
Pulse.Guide [Id] editor Opens the Pulse guide panel, with a guide if given (PulseSkill.Workflow).
Pulse.Learn.Start <Plugin> <lesson-id> ["<bundle.json>"] [--step=<step-id>] editor Starts a lesson in the Pulse guide panel, at a step if given; without a bundle the lesson comes from Resources/Docs/pulse-docs.json of the plugin (Learning paths).
Pulse.Learn.Check <Plugin> [<lesson-id>] editor Logs the state of every step of the lessons of a plugin as the guide sees it now: done (in the progress), passes, open, next (no check) or NOT REGISTERED. Reads docs/learn of the plugin, else its docs bundle (Learning paths).
Pulse.Learn.Do <call> editor Runs an action of the learning paths like Do It, e.g. Pulse.Learn.Do Pulse.CreateAsset(PulseQuest, Quest).
Pulse.Docs.Capture <Plugin> [<lesson-id>] editor Writes the pictures of the lessons of a plugin (capture of the steps) to its docs/images. Opens a new empty level and runs the do actions of the steps before each picture; needs a renderer (Learning paths).
Pulse.Check editor Checks the setup and the assets of every Pulse plugin and shows the result on All plugins of the Pulse window (Check All). The commandlet -run=PulseCheck does the same without the editor UI (Workflow).
Pulse.PIE.Start [Standalone|Listen|Client] [players] editor Starts Play in Editor with its own net mode and number of players (default Listen 2: a listen server and one client, each in its own window), with a copy of the play settings: the settings of the Play button stay as they are. For checks and scripts.
Pulse.PIE.Exec <instance> <command> editor Runs a console command (cheats included) as the local player of a PIE instance: 0 is the server or standalone game, 1 the first client. A client without cheats gets EnableCheats first.
Pulse.Debug.Mark <text> game and editor Writes a marker into the debug timeline of every running world, e.g. to mark the steps of a manual test.
Pulse.UI.Extensions game and editor Lists the UI theme extensions in lookup order: priority, path and how many roles they set (UI themes).
Pulse.Messages.List game and editor Lists the registered message channels: payload, where they are broadcast, listeners in this game and what they mean (Message bus; the channels of all Pulse plugins: Message channels).
Pulse.Workshop <Asset> Mode <Tree\|Graph> \| View <View> \| Table <0\|1> \| Collapse <Key>... \| Expand <Group id> \| Search <Text> \| Select <Key>... \| ListView <List> <Cards\|Table\|Stack> \| Solo <Path> \| Compact <0\|1> editor Changes an open config workshop: tree or graph, opens a view of the graph (O overview, L:<list path>, G:<group id>), shows a list as a table, collapses nodes to a group, expands it, searches, selects (in the tree: by path), the view of a list in the tree, the solo entry of a stack, compact tree rows. For scripted checks and pictures.
Pulse.Editor.ShowDetails [width] <object path>... editor Opens a details panel of the objects; several objects are edited together like a selection (the cards show their summaries, “Mixed” where values differ). For checks and images.
Pulse.Editor.PreviewOrbit [degrees] [frames] editor Turns the camera of every open Pulse preview viewport around its content (default 1 degree for 120 frames), for screenshots and tests.
Pulse.Mode [mode] [tool] editor Opens a level editor mode of a Pulse plugin (by its mode id or the plugin name) and starts one of its tools; without arguments it lists the modes (Editor kit).
Pulse.Views [Id\|none] [on\|off] editor and PIE Switches a viewport view of the Pulse plugins: in the editor console for the active level viewport, in the console of a PIE window for that window. Without arguments it lists the views, none turns all off (Editor kit).
Pulse.Settings <Plugin\|Settings class> editor Opens the settings page of a plugin (Online, PulseOnline) or the block of a settings class (PulseOnlineSessionSettings) in Project Settings or Editor Preferences. Without arguments it lists the pages (Utilities).
Pulse.ConfigFiles.SaveTo <Type> [File] editor Where the Project Settings save changes of a config type (Engine, Game, …) until the editor closes: Default, Windows, Custom/EOS, Windows/Custom/EOS, also files the editor does not read (Linux, Custom/EOSServer). Without a file it lists the files the editor reads (Config files).
Pulse.ConfigFiles.Create <Type> <File> editor Creates a config file (empty, added in source control) and saves changes of its config type to it, e.g. Pulse.ConfigFiles.Create Game Linux/Custom/Steam.
Pulse.ConfigFiles.NewCustom <Name> editor Adds a custom config to the config files of this session; its files are created with the first value written.
Pulse.ConfigFiles.Show <SettingsClass> <Property> editor Opens the value of a setting in every config file, e.g. PulseOnlineSettings DefaultLoginMethod.

The editor console runs world commands in the editor world, so cheats typed there do not reach PIE: use Pulse.PIE.Exec (or the console of the PIE window).

Cheats

Cheats work in builds with cheats (not in shipping builds). In PIE the server can use them right away, a client types EnableCheats first. Runs on: server cheats change server state; typed on a client, they are sent to the server. Local cheats act on the game of the player who typed them. In the editor, Pulse.PIE.Exec <instance> <cheat> runs a cheat as the player of a PIE instance (0 = server, 1 = first client) and turns cheats on for a client first.

Debugging

Cheat Runs on What it does
PulseDebugProviders local Lists the Pulse snapshot providers of this world.
PulseDebugDump [category] local Prints the Pulse snapshots of a provider category (or all) to the log.
PulseDebugReportTest [slow] local Publishes a sample report for the Reports page of the Pulse Debugger.
PulseDebugTimelineTest [Count] local Records test events into the Pulse debug timeline of this world.

Message bus

Cheat Runs on What it does
PulseMessageSend <Channel> local Broadcasts a Pulse message without payload.
PulseMessageListeners local Lists the listeners of the Pulse message bus per channel.

Clocks

Cheat Runs on What it does
PulseClockInfo local Prints the game, server and real clock of this machine, the game clock state and the number of timers.
PulseClockPause [0\|1] server Pauses or resumes the game clock on every machine (toggles without a value).
PulseClockRate <rate> server Sets the rate of the game clock (game seconds per second).
PulseClockJump <seconds> server Moves the game clock forward (or back with a negative value).

Results

Cheat Runs on What it does
PulseRequestTest [fail] local and server Sends a test request to the server, which answers through the request component (fail: Pulse.Result.Failure.Busy); prints the answer.

UI themes

Cheat Runs on What it does
PulseUITheme <asset name or path> local Changes the UI theme of the local player.
PulseUIThemeReset local Goes back to the default UI theme of the project settings.
PulseUIThemeList local Lists the UI theme assets of the project.

Names in the Pulse plugins

Every Pulse plugin follows the same scheme, so its console entries are easy to find (type the start and let the console complete it):

  • Cheats: Pulse<Plugin><Action>, e.g. PulseInventoryGive, PulseOnlineLogin.
  • Console commands and variables: Pulse.<Plugin>.<Name>.
  • Log categories: LogPulse<Plugin>.

Each plugin lists its entries on a page like this one. A plugin adds console autocomplete entries in its Config/Input.ini (section [/Script/EngineSettings.ConsoleSettings]), see Debugging.

Log categories

Category What it logs
LogPulseFoundation Message bus, player settings registry, debug tools, cheats.
LogPulseUI UI themes, Pulse Style components, UI motion, key icons.
LogPulseFoundationMVVM View models and their resolvers.
LogPulseGameCore Helpers of the module PulseGameCore (traces, Blueprint libraries).
LogPulseFoundationEditor Pulse Debugger window and editor tools (editor only).
LogPulseLearn Lessons of the learning paths: starting, reading bundles, Set up from here (editor only).
LogPulseLearnProgress Reading and writing Saved/Pulse/Learn/progress.json (editor only).
LogPulseLearnCheck Pulse.Learn.Check and Pulse.Learn.Do (editor only).
LogPulseDocsCapture Pulse.Docs.Capture: the pictures written, skipped and not found (editor only).

Change the verbosity at runtime with Log <Category> <Verbosity>, e.g. Log LogPulseFoundation Verbose (Log LogPulseFoundation Log goes back to the default). For a whole run: -LogCmds="LogPulseFoundation Verbose" on the command line, or LogPulseFoundation=Verbose in the section [Core.Log] of DefaultEngine.ini.


PulseFoundation plugin documentation.

This site uses Just the Docs, a documentation theme for Jekyll.