Shipping Console

Shipping Console

The plugin streamlines the process of enabling the game console by allowing you to specify a command-line parameter like -Console. With this, you can easily activate the console even when building in Shipping configurations.

Additionally, you have the option to disable the console in Development builds if needed.

Getting Started

Acquire

Install

  1. Launch Epic Game Launcher
  2. Open Unreal Engine > Marketplace tab
  3. Find Shipping Console plugin
  4. Click Install to Engine button
  5. Open you project, go Edit > Plugins
  6. Find and activate Shipping Console plugin
  7. Restart Unreal Engine
  1. Launch Epic Game Launcher
  2. Open Unreal Engine > Marketplace tab
  3. Find Shipping Console plugin
  4. Click Install to Engine button
  5. Copy ShippingConsole plugin from [Unreal Engine]\Engine\Plugins\Marketplace\ to [Your Project]\Plugins\

Configure

Configure the ShippingConsole plugin in Project Settings

ℹ️
No Blueprint or C++ code required

Validate

Build a game and run it with/without the -Console command-line argument.

MyGame.exe -Console

Configuration

To configure the Shipping Console plugin, follow these steps:

  • Open the project settings by going to Edit > Project Settings.
  • Scroll down to the Plugins category and select Shipping Console.

Plugins - Shipping Console
Project Settings - Plugins - Shipping Console

  • Console Argument - The command-line parameter (e.g., -Console) that enables the console in Shipping builds.
  • Remove Console Non Shipping - When enabled, this option removes the console from Debug and Development builds unless the specified command-line argument is provided.
ℹ️
Console Argument is case-insensitive

Source Code

If you want to extend ShippingConsole functionality, you always can derive your Subsystem from UShippingConsoleSubsystem and override methods

MyShippingConsoleSubsystem.h
#pragma once

#include "CoreMinimal.h"
#include "ShippingConsoleSubsystem.h"
#include "MyShippingConsoleSubsystem.generated.h"

UCLASS()
class MYGAME_API UMyShippingConsoleSubsystem : public UShippingConsoleSubsystem
{
	GENERATED_BODY()
public:
	bool ShouldCreateSubsystem(UObject* Outer) const override
	{
		return !WITH_EDITOR && !UE_SERVER;
	}

	// Override methods for your needs
	bool ShouldAddConsole(const UGameInstance* GameInstance) const override;
	bool ShouldRemoveConsole(const UGameInstance* GameInstance) const override;
};
ℹ️
Don’t forget to update your .Build.cs
MyGame.Build.cs
using UnrealBuildTool;

public class MyGame : ModuleRules
{
	public MyGame(ReadOnlyTargetRules Target) : base(Target)
	{
		// ... other staff ...

		PublicDependencyModuleNames.Add("ShippingConsole");
	}
}