Smart Objects are assets and scripts in the Editor library that work out of the box. They make creating games easier and quicker. Some Smart Objects are a combination of visuals, scripts and components that can be customized to better fit the design of your game. Other Smart Objects exist only as a singular visual, script or component with specific defined behavior that you can attach to any asset to further customize your games.
Smart Objects can be easily found using the Filter button, located on the top of the Library panel. The Filter button will open a panel with a list of categories that you can use to find assets. Clicking on the Smart Objects option will reveal a list of all the Smart Objects currently available.
If you'd like to use a Smart Object in your game, simply Drag and Drop the asset from the Library to the Viewport by clicking on it, holding the left mouse button and releasing once you have positioned it.
Smart Objects can be edited and customized like any other asset in the Editor by changing variables and their values in components and scripts. For more information on these terms and editing objects in general, see Editor Basics.
Smart Conditions are special assets with scripts and components that allow you to add gameplay behaviors to your game. They are simple to edit and customize using the Inspector.
Smart Conditions can be easily found using the Filter button, located on the top of the Library panel. The Filter button will open a panel with a list of categories that you can use to find assets. Clicking on the Smart Conditions option will reveal a list of all the Smart Conditions currently available.
To use a Smart Condition, drag and drop it into the Viewport from the Library. You will be able to see all the editable variables available on the condition in the Inspector.
Below is a list of the currently available Smart Conditions. Please note that each condition has a visual component that can be enable or disable and will not affect how the condition works.
Condition Name
Description
Editable Variables
Events
Reference Image
CollectableSmartCondition
enables a trigger zone on a specific object(s) to initialize a win or lose state
Collectable Smart Condition Script
Result Delay
Result
Use Simple Settings Boolean
Goal
Identifiers to Listen To
Size
Elements
Requirement
Objects to Track
Size
Elements
OnConditionMet()
CompoundSmartCondition
looks at other conditions to collectively to initialize a win or lose state when they are completed
Compound Smart Condition Script
Result Delay
Result
Use Simple Settings Boolean
Goal
Identifiers to Listen To
Size
Elements
Requirement
Objects to Track
Size
Elements
OnConditionMet()
CounterSmartCondition
counts goals by calling events to initialize a win or lose state
Counter Smart Condition Script
Result Delay
Result
Start Count
Count Goals
Size
Elements
Clamp Count Boolean
Count Minimum
Count Maximum
OnConditionMet()
HealthDepletedSmartCondition
enables an elimination/frag counter goal; reaching the goal count initiates a win or lose state
Health Depleted Smart Condition Script
Result Delay
Result
Use Simple Settings Boolean
Goal
Identifiers to Listen To
Size
Elements
Requirement
Objects to Track
Size
Elements
OnConditionMet()
ManualSmartCondition
a customizable condition that will add UI to the screen; you can call events to initialize a win or lose state
Manual Smart Condition Script
Result Delay
Result
OnConditionMet()
TimerSmartCondition
adds a timer element that counts down by default; when the timer reaches 0, a win or lose state can be initialized
Timer Smart Condition Script
Result Delay
Result
Time Duration
Millisecond Display Threshold
Normal Timer Color
Low Time Threshold
Low Time Color
OnConditionMet()
TriggerSmartCondition
enables a trigger zone to initialize a win or lose state
Trigger Smart Condition Script
Use Simple Settings Boolean
Goal
Identifiers to Listen To
Size
Elements
Requirement
Objects to Track
Size
Elements
Trigger Collider
Auto Add Avatars
Must Be Continous Boolean
OnConditionMet()
SmartConditionUI
adds UI elements for each smart condition; this script is attached to each smart condition by default