Better Construction Scripts

Skyler Clark - Code Plugins - Jun 14, 2021

Construction Scripts for components, and better options for Construction Scripts to control the amount of work done in packaged builds.

  • Supported Platforms
  • Supported Engine Versions
    4.24 - 4.27, 5.0 - 5.3
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

Unreal's default Construction Script has differing behavior during Play in Editor than Packaged builds. In Packaged Builds, all Construction Scripts are executed at run-time, which can create large frame 1 spikes while loading a level if there are a lot of placed actors with custom construction script setup.


To fix this, this plugin provides two new construction script variants which can be used with Actors, StaticMeshActors, and SkeletalMeshActors; and can be integrated easily into any other actor class as needed:

  • CachedConstructionScript - This reproduces the Play in Editor behavior in the packaged build, only running in editor for Placed Actors. In order for this to function properly, and values that the construction script changes must be non-transient and saved into the level data. If an actor with a CachedConstructionScript is spawned in fresh during runtime, the CachedConstructionScript will be run.
  • EditorOnlyConstructionScript - This will only ever run in editor, never during run time. This is the best option to ensure that you aren't accidentally adding extra processing to your packaged build for in-editor convenience features that are intended to be development only.


In addition, this plugin also provides Construction Scripts for ActorComponents and SceneComponents, as long as the component is attached to a BetterConstructionScript supporting Actor:

  • ConstructionScript - A construction script that will always run, regardless of if in PIE or in a Packaged build.
  • CachedConstructionScript - Same as above.
  • EditorOnlyConstructionScript - Same as above.


Join my Discord Server, message me on twitter @sclark39, or post in the Forum Thread to ask questions and offer suggestions; or check out my other Marketplace Plugins and support my work!

Technical Details

Features:

  • 2 New Construction Script types for Actors, StaticMeshActors, and SkeletalMeshActors
  • 3 New Construction Scripts types for ActorComponents and SceneComponents


Code Modules:

  •  Runtime


Number of Blueprints: 0

Number of C++ Classes: 5 classes, 2 interfaces

Supported Development Platforms: Win64, Win32, XboxOne, PS4, Switch

Supported Target Build Platforms: Win64, Win32, XboxOne, PS4, Switch

Documentation: Github


Warning: Because of how these construction scripts are implemented, some care does need to be taken in how they are used. They can be powerful but lack the safeguarding of the default actor's Construction Scripts