> For the complete documentation index, see [llms.txt](https://october-studio.gitbook.io/monster-survivors-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://october-studio.gitbook.io/monster-survivors-documentation/introduction/asset-versions-and-update-tips.md).

# Asset Versions and Update Tips

### Version 1.5.0

**Project:**\
➕Added Unity 6.5 support\
➕Added adjustable margins for [Rect, Vertical and Horizontal stages](/monster-survivors-documentation/stages/stage-settings.md#stage-background).\
➕Added static variables runtime initialization.\
🪲Fixed a bug when the game would not save before exiting the application.\
🪲Fixed a bug with flickering prop (thanks to buff\_byte for identifying the issue and providing the fix)\
🪲Fixed a bug where enemies recycled after Rush mode could freeze the game.\
🪲Added instancing to included shaders.

{% hint style="warning" %}
Please note: Starting with this update, the minimum required Unity version is now 2022.3. Development for Unity 2021 has been concluded to align with current asset submission guidelines. Previous versions of this asset remain fully functional for Unity 2021 projects.
{% endhint %}

<details>

<summary><em><strong>Changed Files</strong></em></summary>

**Edited:** \
EnemiesSpawner.cs\
SaveManager.cs\
SerializationHelper.cs\
AbilitiesWindowBehavior.cs

\
HorizontalFieldBehavior.cs\
RectFieldBehavior.cs\
StageFieldData.cs\
StageChunkBehavior.cs\
VerticalFieldBehavior.cs\
CharacterDataSO.cs\
CharactersDatabase.cs\
BurstRushWave.cs\
BurstWave.cs\
ContinuousRushWave.cs\
ContinuousWave.cs\
DropManager.cs\
LightningAmuletAbilityBehavior.cs\
MaintainRushWave.cs\
MaintainWave.cs\
ThunderRingAbilityBehavior.cs\
AudioManager.cs\
CameraManager.cs\
CoinDropBehavior.cs\
CurrenciesManager.cs\
DropBehavior.cs\
EasingManager.cs\
EnemyBehavior.cs\
GameController.cs

\
InputManager.cs\
JoystickBehavior.cs\
PlayerBehavior.cs\
RangedEnemyBehavior.cs

\
StageController.cs\
StageFieldManager.cs\
UpgradesManager.cs\
VibrationManager.cs\
\
Sprite With Disolve.shader\
Sprite With Overlay.shader

</details>

### Version 1.4.0

**Game:**\
➕[Added three new wave types](/monster-survivors-documentation/stages/tracks-and-clips.md#wave-track):\
‎‎‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎• Burst Rush Wave\
‎‎‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎• Continuous Rush Wave\
‎‎‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎• Maintain Rush Wave\
➕Added 5 stage unlock conditions:\
‎‎‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎• Always Unlocked\
‎‎‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎• After Previous Stage Completed\
‎‎‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎• After All Stages Completed\
‎‎‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎‏‏‎‎• After One Of Stages Completed\
‎‎‎‎‏‏‎ ‎‏‏‎ ‎‏‏‎ ‎• Direct Purchase\
➕Added Stage Unlock Description to Main Menu UI\
➕Added Stage Attempts Counter to Main Meny UI\
🪲Fixed vibration on Android devices.\
🪲Fixed controller vibration on WebGL.\
🪲Fixed a bug when Scaling Label sometimes would have width set to 0.

**Project:**\
➕Added Unity 6.4 support\
➕Moved CharacterData to ScriptableObject.\
➕Improved project's scalability: Added ID fields to CharacterData and StageData.\
➕Added automatic conversion for custom CharacterData in Characters Database.\
➕Improved currencies implementation across the project: Changed hardcoded gold Cost to Price with adjustable currencies, CharacterData and UpgradeData.\
➕Added a Menu option to disable the Default Scene Loader.\
➕Added Menu options to manually convert CharacterData to Scriptable objects.\
🪲[Fixed](/monster-survivors-documentation/known-issues/ios-build.md) XCode sometimes not including CoreHaptics framework when building on IOS.

{% hint style="warning" %}
This update introduces a lot of new files, as well as changes to the existing files and systems. Always use version control system and save your work before updating.

Do not rewrive the Upgrade assets if you made changes to them, the asset will automatically convert them to use price with currency set to gold instead of cost.

Be careful with UI prefabs like *Main Menu Screen.prefab, Lobby Window\.prefab or Game Screen.prefab.*

If you created or modified Characters in Characters Database, do not override the Characters Database scriptable. The asset will automatically convert the characters from the database to scriptable objects. If you modified CharacterData.cs script, modified or added fields might get lost.

The structure of save data has changed, previously opened stages might become closed. It is recomended to delete previous save file before updating the asset using Tools -> October -> Delete Save File menu.
{% endhint %}

<details>

<summary><em><strong>Changed Files</strong></em></summary>

**Added:**\
\&#xNAN;*BurstRushWave.cs* \
*BurstRushWaveBehavior.cs* \
*RushSpawn.cs* \
*RushSpawnDataPropertyDrawer.cs* \
*RushSpawnPropertyDrawer.cs* \
*RushWave.cs* \
*RushWaveBehavior.cs* \
*DefaultSceneLoaderActions.cs* \
*ContinuousRushWave.cs* \
*ContinuousRushWaveBehavior.cs* \
*MaintainRushWave.cs* \
*MaintainRushWaveBehavior.cs* \
*AllStagesCompletedCondition.cs* \
*AlwaysUnlockedCondition.cs* \
*AnyStageCompletedCondition.cs* \
*PreviousStageCompletedCondition.cs* \
*PurchasedCondition.cs* \
*SerializedPropertyExtensions.cs* \
*StageDataAutoFixer.cs* \
*StageUnlockCondition.cs* \
*StageUnlockConditionAttribute.cs* \
*StageUnlockConditionTypeCache.cs* \
*StageUnlockData.cs* \
*StageUnlockDataPropertyDrawer.cs* \
*IOSPostBuild.cs* \
*LobbyInfoPopup.cs* \
*Id.cs* \
*IdPropertyDrawer.cs* \
*CharacterDataMigration.cs* \
*CharacterDataSO.cs* \
*CurrencyCache.cs* \
*CurrencyId.cs* \
*CurrencyIdPropertyDrawer.cs* \
*Price.cs* \
*PricePropertyDrawer.cs* \
*IdAssetProcessor.cs*\
*MAGE Character Data.asset* \
*WIZARD Character Data.asset*\
*ui\_button\_round\_blue.png* \
*ui\_info.png* \
*ui\_panel\_white.png*

**Edited:** \
\&#xNAN;*Stage 1.playable* \
*WaveEditor.cs* \
*DefaultSceneLoader.cs* \
*CameraManager.cs* \
*EnemiesSpawner.cs* \
*EnemyBehavior.cs* \
*WaveAsset.cs* \
*ScalingLabelBehavior.cs* \
*Stage 1.asset* \
*StageData.cs* \
*StageSave.cs* \
*StagesDatabase.cs* \
*GameController.cs* \
*Lobby Window\.prefab* \
*LobbyWindowBehavior.cs* \
*StageController.cs* \
*AndroidVibrationHandler.cs* \
*Haptic.jslib* \
*IOSVibrationHandler.cs* \
*SimpleVibrationHandler.cs* \
*Vibration.mm* \
*VibrationManager.cs* \
*WebGLVibrationHandler.cs* \
*CustomActionsMenu.cs* \
*HighlightableButtonUI.cs* \
*CharacterData.cs* \
*CharacterItemBehavior.cs* \
*CurrencySave.cs* \
*CurrencyScreenIncicatorBehavior.cs* \
*UpgradeItemBehavior.cs* \
*Characters Database.asset* \
*CharactersDatabase.cs* \
*CharactersSave.cs* \
*CurrenciesDatabase.cs* \
*Armour Upgrade.asset* \
*CharactersWindowBehavior.cs* \
*ChestWindowBehavior.cs* \
*CoinDropBehavior.cs* \
*Currencies Database.asset* \
*CurrenciesManager.cs* \
*Damage Upgrade.asset* \
*GoldEndgameAbilityBehavior.cs* \
*Healing Upgrade.asset* \
*Health Upgrade.asset* \
*Revive Upgrade.asset* \
*UpgradeData.cs* \
*CurrencyPriceFixer.cs* \
*VersionAssetProcessor.cs* \
*Game Screen.prefab* \
*Game.unity* \
*Main Menu Screen.prefab* \
*Main Menu.unity*

</details>

### Version 1.3.1

**Project:**\
🪲Fixed a bug with Drop Manager.

### **Version 1.3.0**

**Game:**\
➕Optimized drop management and movement with Jobs System and Burst Compiler.\
➕Optimized damage indicators movement with Jobs System and Burst Compiler.\
➕Optimized enemies spawning and defeat handling.\
➕Optimized UI Timer.\
➕Changed default enemies cap from 600 to 1500.\
🪲Fixed Music stopping playing on focus change.

**Project:**\
➕Added more functionality to Stage Field classes.\
🪲Fixed a bug with obstacle spawning.

### **Version 1.2.1**

**Game:**\
🪲Fixed a bug with Honey Mines and Void Black Holes ignoring the player.\
🪲Fixed a bug with Bosses teleporting out of bossfight area if it is too large.

**Project:**\
➕DualShock and DualSense gamepads support improved.\
➕Added ProjectSettings asset with the names of the Main Menu, Game and Loading screen scenes.\
➕Made character scripts easier to inherit from.\
➕Added custom center point for each character.

### **Version 1.2.0**

**Game:**\
🪲Fixed a bug with ranged enemy attacking after death.

**Project:**\
➕Added Unity 6.1 support.\
➕Added Abilities Testing Overlay. Now you can test abilities more easily during gameplay.\
➕Added support for multiple center background chunks for more variety.\
➕Added comments in the AbilityManager script for better understanding of each step in the code.\
➕Made AbilityManager easier to inherit from – refactored with virtual and protected methods to support cleaner subclassing.\
🪲Fixed a bug with music not starting correctly on WebGL.\
🪲Fixed a bug with multiple instances of InputManager being created in some cases.

### **Version 1.1.2**

**Game:**\
🪲Fixed a bug when bosses had unexpected behavior, resulting in multiple error messages.

### **Version 1.1.1**

**Game:**\
➕Added Pixel Perfect Camera support.\
➕Added an option to use PlayerPrefs for saving game progress.\
➕Added an option to use separate audio files as music for each stage.\
🪲Fixed a bug with Camera Space Projectile not showing up if the player wandered off far from the center of the scene.

### **Version 1.1.0**

**Important:** this version introduces changes to some components (described below). Please make sure to backup your efforts before updating.

**Game:**\
➕Added new enemy type: Ranged. Now enemies can shoot projectiles with customizable patterns and behaviors.\
➕Added teleportation option for off-screen enemies. Now they can instantly return to the line of sight if the player ran too far.\
➕Improved DualSense gamepad support.\
🪲Fixed an error that occurred when the chest animation was skipped too fast.\
🪲Fixed a bug that granted incorrect XP level after using the "continue game" option.

**Project:**\
➕Added more comments in the save system scripts.\
➕Added interfaces to certain systems to make them easier to replace with your custom implementations (Vibration, Audio, Save, Input).

### **Version 1.0.2**

**Game:**\
➕Added a new input system. Now the gameplay and menus support gamepad and mouse/keyboard controls on PC with seamless switching between input methods.\
➕Added character starting ability. Now its possible to assign an ability to a character instead of generic weapon selector.\
➕Added random spawning obstacle objects in the stages with custom settings.\
🪲Fixed a bug with character selector and upgrades window not accommodating more than 6 items.

**Editor:**\
🪲Fixed a bug with save sharing violation on game exit.\
🪲Fixed a bug when shine effect in the ability selector would not work properly.

### **Version 1.0.1**

**Game:**\
➕Added a locked stage feature. Now locked stages are visible in the Main Menu with separate lock indication.\
➕Added a level number for acquired abilities in the Pause Menu and Level Up window.\
➕Weapon select window now has a proper title.\
➕Improved sound mixing for some cases, such as bomb and coin pickup.\
🪲Fixed a bug when gold from a chest won't be granted.\
🪲Fixed a bug with the Wand, Fireball, Scepter and Boomerang abilities when they consistently missed the target.\
🪲Fixed a bug with the chest drop rate for Shade Jellyfish in Stage 2.\
🪲Fixed a bug when the Exit button in the Pause Menu wasn't working properly.

**Editor:**\
➕Added the ability to unlock all stages with an editor option under Tools > October.\
🪲Fixed a bug that would break a WebGL save if a browser page was closed on Game Over Screen.

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://october-studio.gitbook.io/monster-survivors-documentation/introduction/asset-versions-and-update-tips.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
