VFX Preset Performance Optimization

Overview

To use VFX Presets more efficiently, various performance types are provided, which allows creators to optimize according to the characteristics of each effect type.

Additionally, by managing VFX Presets based on a fixed budget, creators can not only save resources but also maintain balanced quality and performance for each effect type. This approach makes it easier and more efficient for creators to handle VFX presets during development.

VFX Preset Budgeting

이를 조정하기 위해 오버데어 스튜디오에서는 Performance Type을 분류하고 각 타입별 리소스를 할당하여, 크리에이터가 쉽게 VFX를 사용하면서도 성능을 보장할 수 있는 기능을 제공합니다.

VFX Presets consume significant device performance. The more they are used, the higher the quality, but this can degrade the play experience due to performance drops. To ensure performance, VFX usage must be minimized, but this reduces the game's visual appeal.

To address this, OVERDARE Studio classifies performance types and allocates resources for each type, providing creators with the ability to easily use VFX while ensuring performance.

Restrictions

Classification
Restrictions

Budget Update Cycle

  • Spawn: Updates budget when placed in the world or enabled

  • Tick: Updates budget by calculating priority at regular intervals

How ​​to prioritize within a budget

  • Distance: Prioritizes display based on proximity to the camera

  • Age: Prioritizes display based on the order of recent spawning

How ​​to handle budget overruns

  • Kill: Disables rendering (cannot be reactivated)

  • Asleep: Temporarily disabled; can be reactivated when resources are available

Expression Maximum Distance

Exclude from budget if the maximum distance from the camera is exceeded

Maximum Instance Count

Maximum allowed instances per performance type

Maximum Number of Identical Effects

Maximum number of identical effects within the same performance type

Performance Type Classification

Performance Type
Description
Usage Examples

Default

VFX that must be played regardless of performance

Essential Visual Effects

Gameplay Burst Critical

VFX that must be expressed in gameplay

Special effects, start/end conditional effects

Gameplay Burst

VFX that briefly plays at certain points

Hit effects, level-up/item acquisition effects

Gameplay Looping

Gameplay VFX that loops continuously

Shield, buff aura effects

Environment Burst

VFX that plays at a specific point in the background

Sparks, smoke effects

Environment Looping

VFX that continuously plays in the background

Torch, rain effects

Resource Limits by Performance Type

Resource Limits in General Specifications Options

Limitation
Environment Looping
Environment Burst
Gameplay Looping
Gameplay Burst
Gameplay Burst Critical
Default

Update Cycle

Tick (Medium)

Spawn

Tick (High)

Spawn

Spawn

Spawn / Tick (Low)

Priority Determination Criteria

Distance

Distance

Distance

Age

Age

Distance

How to handle exceeding budget

Asleep

Kill

Asleep

Kill

Kill

Kill / Asleep

Maximum expressible distance

10000

5000

10000

12500

No restrictions

No restrictions

Maximum number of instances for that budget

8

8

40

60

20

88 / 48

Limit the number of identical effects

4

4

10

30

20

88 / 48

Resource limits in low-spec options

Limitation
Environment Looping
Environment Burst
Gameplay Looping
Gameplay Burst
Gameplay Burst Critical
Default

Update Cycle

Tick (Medium)

Spawn

Tick (High)

Spawn

Spawn

Spawn / Tick (Low)

Priority Determination Criteria

Distance

Distance

Distance

Age

Age

Distance

How to handle exceeding budget

Asleep

Kill

Asleep

Kill

Kill

Kill / Asleep

Maximum expressible distance

1250

450

2500

1000

No restrictions

No restrictions

Maximum number of instances for that budget

6

6

6

25

4

32 / 12

Limit the number of identical effects

3

4

4

4

2

32 / 12

How to Use

Creating a VFX Preset

Create a VFX Preset in the Level Browser and adjust the desired effects, color, size, and more.

Learn More

VFX

Specifying Performance Type

Determine the format in which the effect will be used. Decide based on how you intend to apply the effect.

World Layout

Place the VFX Preset in the location or area where the effect should appear. If it does not need to be pre-placed in the world but dynamically placed during the game, store it in ReplicatedStorage or ServerStorage and place it in the world using Clone or Parent assignment.

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local VFXPreset = ReplicatedStorage:WaitForChild("VFXPreset")

local Workspace = game:GetService("Workspace")
local Part = Workspace:WaitForChild("Part")

local NewVFX = VFXPreset:Clone()
VFXPreset.Parent = Part

Note

The Performance Type of a VFX Preset cannot be changed at runtime. When creating and placing a VFX Preset during runtime, create it in ReplicatedStorage or ServerStorage in advance and dynamically place it using Clone or similar methods.

Last updated