← Changelog

v0.2.0

Table of contents

Added

  • USCConsoleCommandRegistrySubsystem — lets Blueprints define console commands on two paths. Dynamic: a Blueprint child registers them from the On Register Commands event, with no C++ per command. Static: a small C++ stub registers the name at module load and forwards to a BlueprintImplementableEvent, which puts the command in the editor’s autocomplete before PIE starts. Commands carry ECVF_Cheat and every registration path is compiled out of Shipping. Documentation
  • FSCBlueprintConsoleCommand — the delegate a dynamic command binds its body to.
  • SC.Debug.Ping — worked example of the static path.
  • USCTickableObject::IsTickEnabled() — whether the object is currently asking to tick, independent of whether it has been initialized.
  • USCConsoleCommandRegistrySubsystem::UnregisterCommandsFor() — removes every command registered on behalf of one owner, so an actor that registers in BeginPlay can drop its commands in EndPlay without tracking names. Commands whose owner has been destroyed are swept out automatically on the next registration.

Changed

  • USCTickableObject — EnableTick() and DisableTick() called before Initialize() now record the intent, and Initialize() applies it; previously DisableTick() was silently overridden by bStartTickingOnInitialize and EnableTick() was rejected with a warning. Shutdown() restores the configured starting value, so an Initialize/Shutdown/Initialize cycle behaves the same way every time. Documentation
  • USCTickableObject — the FTickableGameObject interface, BeginDestroy and PostInitProperties moved to protected. Behaviour is unchanged; C++ code calling IsTickable() and friends on this class directly no longer compiles.
  • USCTickableObject::TickInterval is no longer BlueprintReadOnly — use GetTickInterval().
  • Doc comments on the public headers are shorter; the rationale they used to carry — engine references, rejected alternatives, the reasoning behind each contract — moved out of the headers.