Manuals of ComponentCameraSystem
  • Introduction
  • Basic Uses
    • General Workflow
    • Working with Sequencer
    • Third Person Camera
    • Lock-On Camera
    • Camera Shake
    • Camera Postprocessing
    • Camera Lens Effect
    • Camera Dither Fade
    • Photo Mode (Experimental)
    • Other Features
    • FAQ
  • Advanced Uses
    • Change Component Properties at Runtime
    • Customizing Camera Components
      • Customizing ECameraComponentFollow, ECameraComponentAim and ECameraExtensionBase
      • Customizing Existing Components: ControlAim as An Example
      • Customizing ECameraGroupActorComponent
      • Customizing ECameraHUD
      • Customizing EPlayerCameraManager
    • Camera Dampers
    • Animating Camera
    • Mixing Camera
    • Sequenced Camera
    • Keyframing Camera
    • ArchViz Camera
    • Integrating with Montage
    • Integrating with Gameplay Ability System (GAS)
  • Showcases
    • Boss Battle Camera
    • Group Aim Camera
    • Orbit Camera
    • Rail Camera
    • Crane Camera
    • Third Person Framing Camera
    • First Person Shooter Camera
    • Pseudo First Person Shooter Camera
    • Static Camera
    • Only Follow Camera
    • Only Aim Camera
  • Camera Components
    • Follow Components
      • ScreenFollow
      • SimpleFollow
      • HardLockFollow
      • OrbitFollow
      • RailFollow
      • CraneFollow
    • Aim Components
      • TargetingAim
      • HardLockAim
      • ControlAim
    • Extension Components
      • ResolveOcclusionExtension
      • MixingCameraExtension
      • ConfinerExtension
      • ResolveGroupActorExtension
      • AnimatedCameraExtension
      • KeyframeExtension
      • ConstrainPitchExtension
      • ModifyAimPointExtension
      • VelocityBasedRollingExtension
    • Miscellaneous
      • Photo Camera
      • Animated Camera
      • Keyframed Camera
      • ArchViz Camera
      • ArchViz CineCamera
      • ArchViz Camera Component
      • ArchViz CineCamera Component
      • Sequenced Camera Actor
      • Group Actor Component
      • CameraModifier_CameraShake
      • PCMGNeuralNetwork
      • ECamera Shake Source Actor
  • Blueprint Nodes List
    • ECameraBase
    • ECameraSettingsComponent
    • EPlayerCameraManager
    • ECameraLibrary
    • ECameraGroupActorComponent
    • RailFollow
    • ScreenFollow
    • ControlAim
    • MixingCameraExtension
    • VelocityBasedRollingExtension
  • Code Framework
    • Code Framework
  • Changelog
    • Changelog
      • V0.1.x
      • V0.2.x
Powered by GitBook
On this page
  • Set Properties with Getter/Setter
  • Set Properties with SetPropertyByName Node
  1. Advanced Uses

Change Component Properties at Runtime

PreviousFAQNextCustomizing Camera Components

Last updated 12 months ago

Set Properties with Getter/Setter

You can easily change component properties at runtime as most of these properties are writable in blueprint. You can access properties by using the Get and Set nodes from the component you want to modify.

Here is an example. When the character overlaps with a trigger box at the specified place, the camera distance will smoothly increases to 600.

The blueprint is quite simple. First call the GetActiveCamera node and check its validity. Then get its follow component and cast it to ScreenFollow. Last use a Timeline node to interpolate from the default camera distance to the target camera distance.

You can define various custom functions and place them in a library. It will be very convenient next time you use these functions.

Set Properties with SetPropertyByName Node

In the following example, let us use this node to modify ScreenFollow component's CameraDistance property.

  1. Create a new camera class with the ScreenFollow component. It's named ThirdPersonCamera here.

  1. Call this camera in blueprint and use the SetPropertyByName node to set the CameraDistance property in the ScreenFollow component. Here the destination value is 1000 and blend duration is 5 seconds.

  1. Run the game and you will see the camera distance changes as expected.

  1. As property names can be nested, you can achieve this same purpose using one of the following three ways.

V0.2.1 added a new blueprint node SetPropertyByName, which allows you to set any numeric/struct type property of any object in an async manner. It supports nested properties, that is, you can use PropertyName_A.PropertyName_B.PropertyName_C to access and set proerties. Reference the for a more comprehensive introduction to the node itself.

node list