From The Endless Mission Wiki
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.
The Smart Object Filter in the Editor
Where to Find Smart Objects[edit | edit source]
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.
What are Smart Conditions?[edit | edit source]
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.
Where to Find Smart Conditions[edit | edit source]
The Smart Condition Filter in the Editor 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.
How to Use Smart Conditions[edit | edit source]
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 |
Smart Condition UI Script
Condition
Should Display Boolean
Background Settings
Name
Anchor
Pivot
Offset: X, Y
Size: X, Y
Image
Color
Preserve Aspect Boolean
Icon Settings
Name
Anchor
Pivot
Offset: X, Y
Size: X, Y
Image
Color
Preserve Aspect Boolean
Text Settings
Name
Anchor
Pivot
Offset: X, Y
Size: X, Y
Image
Color
Font Size
Font Style
Text Alignment
Text Overflow Mode
Word Wrap Boolean
Sort Order |
- |
-
|
Below is a list of the currently available Smart Objects. Please note that some objects are available in more than one art style.
|
Name |
Description |
Editable Components |
Events |
Reference Image
|
Kart Racer Smart Door Door
Platformer Smart Door
RTS Smart Door |
a door that opens and closes based on an action or event
Note*: Doors default to a locked state and will open with any Smart Object Key that is added to the game for the player to collect |
Parent Asset: Transform, Openable Script, Simple Inventory Script
Children Assets: Transform, Box Collider, Hackable Transform, Material Manager, Mesh Collider, Object Mover Script, Object Mover Node Script |
On Open Starting()
On Opened()
On Close Starting()
On Closed()
On UnLocked()
On Locked() |
|
Kart Racer Smart Chest
Platformer Smart Chest
RTS Smart Chest |
a chest that opens based on an action or event |
Parent Asset: Openable Script, Animated Item Spawner Script, Simple Inventory Script
Children Assets: Children Assets: Box Collider, Collectable Script, Hackable Transform, Object Mover, Object Rotator Script |
On Open Starting()
On Opened()
On Close Starting()
On Closed()
On UnLocked()
On Locked() |
|
Kart Racer Smart Moving Platform
Moving Platform
Platformer Smart Moving Platform
RTS Smart Moving Platform |
a platform asset that moves from a point to another and returns |
Parent Asset: Object Mover Script
Children Assets: Box Collider, Hackable Transform, Material Manager, Object Mover Node Script |
Object Mover Script
On Loop Completion()
On Translation Started()
On Translation Stopped()
On Mover Approaching()
On Arrived()
Box Collider
On Collision Entered (Collision)
On Collision Exited (Collision) |
|
|