Better Construction Scripts

Skyler Clark - 6월 14, 2021

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

  • 지원 플랫폼
  • 지원 엔진 버전
    4.24 - 4.26
  • 다운로드 유형
    엔진 플러그인
    이 제품은 코드 플러그인과 함께 미리 빌드한 바이너리와 언리얼 엔진에 통합되는 모든 소스 코드를 포함하고 있으며 원하시는 엔진 버전에 설치하여 프로젝트에 따라 활성화할 수 있습니다.

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!

기술적 세부사항

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