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
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
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
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
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
VFXSpecifying 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