Infinity PBR by Magic Pig Games
  • Infinity PBR Documentation
  • Game Modules 4
    • ➡️Quick Start
    • 📽️Video Tutorials
      • Quick Start: Creating Game Module Objects
      • Automating Start Actions on GameModulesActor
      • Inflicting Damage with Conditions
      • Updating UI (and more) with Blackboard Notes
      • Dynamic Menus with Item Objects and Dictionaries
      • Create Custom Quest Rewards
      • Save and Load Game Data
      • Stats: Deep Dive
      • Items: Deep Dive
      • Conditions: Deep Dive
      • First Person Movement
      • Tutorial: "Overheal" Effect with Condition & Stats
      • Tutorial: Create a Character & Actor Class Inheriting from GameModulesActor
    • 👀Game Modules Viewer
      • Viewer: Dictionaries
      • Viewer: Stat / GameStatList
      • Viewer: ItemObject / GameItemObjectList
      • Viewer: ItemAttribute / GameItemAttributeList
      • Viewer: Condition / GameConditionList
      • Viewer: Quest / GameQuestList
    • V4 Migration Tips
      • Introducing GameModulesActor
      • Interfaces
      • No More Tick*
      • Dictionaries
      • Repositories
      • Tips from Upgrading "Legend of the Stones"
    • Important Information
      • Game Modules Overview
      • Inherit from GameModulesActor
      • Things to not forget to do
      • Bugs, Backups, and Demos
      • FAQ / Tips & Tricks
      • Required Prefabs
      • Game Module Repository
      • Release Notes
    • Module Documentation
      • Game Modules Actor
      • Game Module "Lists"
        • Get() Methods
          • GameStatList Get() Methods
          • GameItemObjectList Get() Methods
          • GameItemAttribute Get() Methods
          • GameConditionList Get() Methods
          • GameQuestList Get() Methods
        • Contains() Methods
          • GameStatList Contains() Methods
          • GameItemObjectList Contains() Methods
          • GameItemAttributeList Contains() Methods
          • GameConditionList Contains() Methods
          • GameQuestList Contains() Methods
        • Count() Methods
          • GameStatList Count() Methods
          • GameItemObjectList Count() Methods
          • GameItemAttributeList Count() Methods
          • GameConditionList Count() Methods
          • GameQuestList Count() Methods
        • Remove() Methods
          • GameStatList Remove() Methods
          • GameItemObjectList Remove() Methods
          • GameItemAttributeList Remove() Methods
          • GameConditionList Remove() Methods
          • GameQuestList Remove() Methods
        • GameStatList
        • GameItemObjectList
        • GameItemAttributeList
        • GameQuestList
        • GameConditionList
      • Blackboard
        • Blackboard.cs
        • Blackboard Follower
        • Blackboard Note
        • Blackboard Event
        • Blackboard Values
        • Tips & Tricks
          • Use extension methods to check BlackboardNotes (or events)
      • Stats
        • IHaveStats
        • Stat.cs
        • GameStat.cs
        • GameStatList.cs
        • Mastery Levels
      • Loot
        • LootItems.cs
        • LootBox.cs
        • GameLootBox.cs
        • Generating & Handling Loot
        • Custom Loot Generation Algorithm
      • Items
        • ItemObject.cs
          • Manage Item Objects
          • Allowed Item Attributes
          • Starting Item Attributes
          • Item Attribute Variables
            • Variables Methods
        • GameItemObject.cs
        • GameItemObjectList.cs
        • ItemAttribute.cs
          • Manage Item Attributes
          • General Settings
          • Name Settings
          • Requisite Attributes
        • GameItemAttribute.cs
        • GameItemAttributeList.cs
        • Code Examples
      • Conditions
        • Condition.cs
          • Main Settings
          • Condition Time
          • Effects on Points
        • GameCondition.cs
        • GameConditionList.cs
        • Expiration Condition Handler
        • Code Examples
      • Quests
        • Quest
          • Main Settings
          • Quest Step Settings
        • Quest Steps
        • Quest Conditions
          • Create a Custom Quest Condition
            • Your Quest Condition
            • Your Quest Condition Editor
            • Your Quest Condition Drawer
          • Quest Condition Details
            • Blackboard Value Bool
            • Blackboard Value GameObject
            • Blackboard Value Number
            • Blackboard Value String
            • Final Stat Is
            • Game Condition List Contains
            • Game Item Object List Contains
            • Game Stat List Contains
          • Quest Condition Enums
        • Quest Rewards
          • Create a Custom Quest Reward
            • Your Quest Reward
            • Your Quest Reward Editor
            • Your Quest Reward Drawer
          • Quest Reward Details
            • Point Reward
            • Condition Reward
            • Quest Quest Reward
            • Item Object Reward
          • Custom Quest Reward Handler
        • GameQuest
        • GameQuestList
        • Quest Events
        • Demo Scene Quests
          • Push the Button
          • Add Money
          • Don't Get Poisoned
          • Rescue the Puppy
      • Voices
        • Voices
        • Voice.cs
        • Code Examples
      • Dictionaries
        • Dictionaries Setup
        • Dictionaries Methods
        • KeyValue Methods
        • Save and Load
        • Object Reference
      • Gametime & Timeboard
        • Timeboard
          • Timeboard Events
          • TimeboardFollower
        • Gametime
          • Pause Level
          • Time Options
          • Properties & Methods
        • TimeSpan
        • Code Examples
      • Property Code
      • Lookup Table
      • Save and Load
        • GameList & GameFile
        • Making objects saveable
        • Saving, and Loading
        • BlackboardEvents sent by Save and Load
    • Game Module "Systems"
      • Drag-and-Drop Inventory System
        • Scripts
          • PanelManager
          • OnScreenItem
          • Panel
          • BoxManager
        • Scene & Class Setup
        • Item / Object Setup
        • Item / Inventory Setup
        • Box Setup (Chests, Bags, Other Inventories)
        • Setup Your Scene
      • First Person Movement
      • Character Creation
    • Game Module Demo Projects
      • Party Based RPG
        • Title Scene
        • Character Creation Scene
        • World & Dungeon Scenes
    • Magic Time for Game Modules
  • ✨Northstar Tracking System
    • ✅Overview & Quickstart
      • ➡️Quick Start
      • 🫐Demo Scene
      • 🛠️Customizing & Overriding
        • Create a Custom Navigation Bar
        • Create a Custom Compass / Radar
        • Runtime Overrides
          • Screen & Edge Overlay
          • Navigation Bar
          • Compass / Radar
      • ☄️Tips & Code Examples
    • Northstar Documentation
      • Global Northstar Settings
      • Northstar Overlay Settings
      • Compass & Radar
        • Compass
        • Radar
      • Northstar Screen Overlay
        • Screen & Edge Overlay
        • Navigation Bar
      • Tracked Target Compass Radar
      • Tracked Target Overlay
        • Types
        • Override Values
      • Overlay Icon
      • Compass Icon
      • Distance Text
  • 🚀Projectile Factory
    • 👀Overview & Quickstart
      • ➡️Quick Start Guide
        • Create Your First Projectile
        • Add Projectile Factory & Create a Projectile Spawner
        • Use 3rd Party Integrations
        • Extending Projectile Factory
        • Making Lasers & Similar Attached Projectiles
      • 💡FAQs + Important Reminders
    • Game Modules 4 Integration
      • Projectiles with TimeMod
    • Magic Time for Projectile Factory
    • ✅3rd Party Particle Integrations [16]
      • ▶️Archanor VFX [5]
        • Sci-Fi Arsenal
        • Polygon Arsenal
        • Magic Arsenal
        • Retro Arsenal
        • Rainbow Magic
      • ▶️Gabriel Aguiar Prod [2]
        • Unique Projectiles Vol. 1
        • Unique Projectiles Vol. 2
      • ▶️HOVL Studio [4]
        • Toon Projectiles
        • Toon Projectiles 2
        • AAA Stylized Projectiles Vol. 1
        • AAA Projectiles Vol. 2
      • ▶️kripto289 [1]
        • Realistic Effects Pack 4
      • ▶️FORGE3D [1]
        • Sci-Fi Effects
      • ▶️Knife [1]
        • PRO Effects - Sci-Fi Shooter FX
      • ▶️Jean Moreno [1]
        • Cartoon FX Remastered
      • ▶️Synty Studios [1]
        • 🟡Synty Studios Particles
    • Projectile Factory Documentation
      • 🔫Projectile Spawner
        • Projectile Spawner Code
      • 🚀Projectile
        • Projectile Code
        • Projectile Data
      • ✨Spawn Behavior
        • Spawn Behavior Code
        • Spawn Behavior Modification
      • 🕊️Behaviors
        • Behavior Examples
      • ⚡Events
      • 👁️Observers, Global Observers, and Observer Objects
        • Toggle Objects At Events Observer Object
      • 👩‍💼Factory Manager
      • 🏹Trajectory
      • 🎱Object Pooling
      • 🤩Create Custom Behaviors
      • Spawn Point Manager
      • Helper Tools
        • Projectiles Quick Editor
        • Set Trail Auto Destroy to False
        • Set Layer of All Projectiles
        • Remove Colliders
      • Additional Scripts
        • Destroy or Pool Object
        • Project Force
        • Raycast Shooter + Handlers
        • Projectile Utilities
  • Additional Systems & Tools
    • 🎨Runtime Color Sampler
      • Quick Start
      • Demo Walkthrough
      • Runtime Color Sampler (Prefab & Class)
        • Sampler Sphere
        • Sampler Camera
      • Runtime Listener
      • Runtime Color Settings
      • Scripting
      • Additional Classes
    • 🙎‍♀️Portrait Avatars
      • Setup
        • Create a Portrait Avatar
        • Create a UI Portrait
      • Portrait Avatars
        • Scripting
      • Portrait3D
      • Portrait2D
      • Portrait UI
      • Avatar Camera
      • Important Considerations
    • 🎛️Audio Clip Combiner
    • 🌈Color Shifter
    • 🛠️Support Classes
      • Utilities.cs
      • InfinityExtensions.cs
  • ⌛Magic Time - Local Time Scale
    • Overview
    • ➡️Quick Start
    • 🛠️Integrations
    • 💡FAQ
    • Local Time Scale
      • Local Time Scale Scripting
    • Magic Time Manager
      • Magic Time Manager Scripting
    • Magic Time User
      • IHaveLocalTime
      • Magic Time User Scripting
      • Additional "Magic Time User" Components
    • Time Zone
  • Equipment Systems
    • Overview
    • Blend Shapes Manager
    • Blend Shapes Preset Manager
    • Prefab and Object Manager
      • Humanoid Demo & Setup
      • EquipmentObject.cs
      • Prefab Groups
      • Variables
      • Scripting Examples
    • Wardrobe Prefab Manager
  • 📽️General Tutorials
    • Quick 3rd Person Controller
  • ⚔️Legend of the Stones
    • Actors, Players, NPCs
    • Systems
      • Game State
  • External Links
  • Get them at the Asset Store
  • Connect on Discord
  • YouTube
  • Twitch
  • 🚧Work In Progress / Coming Soon
Powered by GitBook
On this page

Was this helpful?

  1. Game Modules 4
  2. Important Information

Release Notes

The Asset Store Release Notes section is limited in the amount of text. So the full release notes are here!

PreviousGame Module RepositoryNextModule Documentation

Last updated 1 year ago

Was this helpful?

v4 is a MAJOR RELEASE. Please backup before you update. This update WILL BREAK existing projects. (This only affects users who have been using it for a long time and haven't updated yet!) Expect relatively frequent updates for a while, as bugs and issues are identified and addressed.

v4.0.2

  • No longer required to add these to the scenes: StatsRepository, ItemObjectRepository, QuestsRepository, ItemAttributeRepository, ConditionsRepository, Loot Box Repository, Object Reference Repository

    • Code has been marked obsolete with guidance to the new methods on GameModuleRepository.Instance

    • If you have a custom QuestRewardHandler, add that to the Blackboard prefab in your scene.

    • New ModulesHelper class has been added to the Blackboard prefab.

  • Fixed ResetCache for ItemObjectsManager, correctly removing deleted ItemObject objects.

  • Fixed issue where it was possible to press "Add" button to add ItemAttribute to a Variable, when none have been created

v4.0.1

    • Added namespace to Timespan class

    • Updated "First Person Movement" system

      • Now includes "First Person Camera" prefab for drag-and-drop use

      • Updates to movement

      • Added Jumping

      • Added Flying

      • Added "Player Input" (something you can override and customize)

      • Added a class which posts helpful information to the Main Blackboard

v4.0

  • Major update to Game Modules system

  • Added Save & Load

  • Added Quests

  • Added Blackboard

  • Complete overhaul of systems.

3.5.3 - Updated to Unity 2020.3 LTS

  • [Mastery Levels] Fixed a bug where the Mastery Levels would not save after being created.

  • [Conditions] [Stats] [Item Object] [ItemAttribute] Modified the Transfer() methods to skip Cloneing (will clone by default) in cases where caching GameCondition objects is preferred for optimizations.

3.5.2

* Fixed issue in EditorUtilities.cs where Stats array was not being cached

3.5.1

* Added GetEffectOn() method to GameItemObject to get the effect (value/proficiency) on a specific stat, with options to include Attributes or not. The "Stats & Conditions" demonstrates this in the console when the Sword is toggled on.

3.5

* Added Blackboard module

* Updated Properties to include Quests

* Updated Properties to include types for various modules

* [Gametime] Updated to automatically post values to Blackboard. Added bool to send notifications on Tick() as an option.

3.4.5

* Updated InfinityEditor to bring it in line with other packs.

* [Items and Equipping Tutorial] Added the Items and Equipping Tutorial

3.4.4

* [Items] Added a gameUid string, which is a random guid added to all GameItemObjects. Will be added to existing objects for projects that are live. Provides a method to reference a specific GameItemObject, for situations where two are very similar, but perhaps have different custom values in Dictionaries.

* [Items] Updated GameItemObjectList with a RemoveExact() method, which uses the new gameUid to ensure the specific GameItemObject is removed, rather than one that is similar, but not the exact one.

* [Items] Updated GameItemObjectList with a TransferTo() method, which will Transfer() a GameItemObject to another GameItemObjectList, and then RemoveExact() the object from this list.

3.4.3

* [Property Code] Updated Editor to automatically update Property Code whenever play mode is entered, or an objectName or objectType is updated (including when a new object is created). The Property Code Editor window must be open for this to work, and the console will remind you if it is not. The option can be turned off, but will be on by default once you open the window.

* [Hunger System Tutorial] Added the Hunger System Tutorial

* [Conditions] Updated the required members for IHaveConditions

* [Stats] Updated the required members for IHaveStats* Minor fixes and updates

3.4.2

* [Game Time] Added methods to add time separately from the Tick() method.

* [Game Time] Added some helpful properties.

* [Game Time] Updated demo scene.

3.4.1

* [Conditions] Added a GetModificationLevels() method to GameConditionsList which returns all Modification Levels from Game Conditions in the list. [Helps with the GetOtherLevels() method on the Player]

* [Items] Added a GetModificationLevels() method to GameItemObjectList which returns all Modification Levels from Game Item Objects (and Game Item Attributes) in the list. [Helps with the GetOtherLevels() method on the Player]

* [Lookup Tables] Added a Validation step to the Editor script to ensure the objectName field is populated properly

3.4

* [Conditions] Added an "infinite" time option, for conditions that should not auto-expire.

3.3.5

* Renamed "CustomEditor" to "InfinityEditor" to avoid conflict issues with Editor.CustomEditor

3.3.3

* [Conditions] Added min/max values rather than set values for effect and time criteria. NOTE: This may break any custom code. Please back up your project before updating.

* Updated sort for adding stat modifications to things so the order is Type/Name, opposed to just Name.

3.3.2

* [Items] Fixed bug in "MatchDictionary" method where it may accidentally call the new Item Object and throw a Null Reference Exception.

3.3.1

* [Stats] Updated the new "Get" method to ensure that the stat recomputes when added, if there is an owner attached.

3.3.0

* Properties Code: Added a "Properties Code" export which will export a Properties.cs file that contains easy-to-use references to ItemObject, ItemAttribute, Stat, and Condition uids and scriptable objects. Easier to code using that, I would think, than having to copy.paste the Uid values :)

* [Conditions] Made the PointActions method virtual, so it can be overriden, helpful if you'd like to augment the value provided by other values.

* [Conditions] Added public reference to the owner.

* [Stats] Updated "Get" method with optional parameters to allow adding if Get returns null. Essentially means any Stat that you attempt to get a value for will be added if it does not already exist, and will not return null. This provides an easier way to add stats without having to actively add them prior to using them.

3.2.6

* [GameTime] Added a "Later" method which returns the GameTime + a float time period that you provide.

3.2.5

* [Items] Updated "Contains" to include option for Attritbute

* [Items] Split "Remove" to include a new "RemoveAll" method.

3.2.4

* Fixed a recurssive loop in the Conditions module

3.2.3

* Updated Count() method in GameItemObjectList.cs and GameItemAttributeList.cs to allow a string uid to be passed in, to return the count of objects matching that uid.

* Fixed some bugs keeping the project from building

3.2.2

* Updated IHaveInventory to be in the correct namespace

* Updated GameItemObject, GameItemAttribute, and GameItemObjectList (along with the "Stats & Conditions" demo scene) to fix a bug where GameItemAttribute stat values were not being computer.

* With the above, also ensured that Stats are SetDirty() when an item is added, transfered, or removed, or an attribute is added or removed, as long as owner is not null.

3.2.1

* Moved some files to the main /Editor folder, out of the Game Modules editor folder, so they can be utilized with other Infinity PBR content.

* Fixed bug when copying ItemAttribute settings in ItemObject objects

3.2

* [Audio Clip Combiner] Updated the Audio Clip Combiner, and added it as part of the Game Modules Bundle

3.1

* Added Conditions

* [Gametime] Fixed potential (rare) NaN bug

* [Stats] Added a Transfer() method to GameStatList.cs which will transfer an existing GameStat into this list.

* [Stats] Added a Clone() method to GameStat.cs

3.0.8.1

* Added the Conditions "WORK IN PROGRESS" to avoid some random errors with other components expecting them. However, it's not ready to be used :)

3.0.8

* [Inventory] Made "GotClicked" virtual so it can be overridden in the "Grid Button" prefab.

* [Dictionaries] Added AddNewKeyValue() version which allows a KeyValue to be passed, which will be cloned and added.

* [Items] Added an auto function that adds missing Dictionaries KeyValue objects to both GameItemAttribute and GameItemObject classes. (Must call Tick() during and Update() loop to run).

* Fixed some bugs when building with Utilities.cs

3.0.7

* [Items] Added "Dictionaries" to GameItemAttribute (it was already present in ItemAttribute)

* [Dictionaries] Fixed issue where it was possible for lists to be size 0. Lists will now always be size 1 or greater.

* [Stats] Updated GetMasteryLevel() to force recomputation if _masteryLevel is null

* [Items] Added an auto function that relinks inventoryPrefabs for any GameItemObjectList. (Must call Tick() during an Update() loop to run).

* [Items] Added RelinkPrefabs() to GameItemObject (which is what is called during the auto-update function above), which can be called when any data is loaded, to relink the prefabs.

3.0.6

* [Stats] Fixed a bug that could, in some cases, keep an affected stat from recomputing automatically.

3.0.5

* [GameTime] Fairly sizable update to address the maths and add correct maths on negative gameTime values (i.e. times before "start time")

* [GameTime] corrected namespace to InfinityPBR.Modules.Gametime

3.0.4

* [Items] Fixed a bug where Dictionaries Keys were not being added to ItemObjects

* [GameTime] Fixed a bug in the FullDate() method when the gametime provided is negative

* [GameTime] Added additional output options for FullDate()

3.0.3

* Moved IHaveLoot.cs into the correct folder.

3.0.2

* Updated repositories to, when in editor, update automatically OnValidate() [when play is pressed]

* Removed legacy files

* [Stats] Added min/max functionality to Points, Base Value, and Base Proficiency

3.0.1

* Fixed a null-check bug in the Dictionaries Module

* Updated Gametime in a variety of places

* Added SetOwner() to GameItemObjectList.cs and GameItemAttributeList.cs

* Added a DeleteItem() method to GameItemObjectList.cs and GameItemAttributeList.cs 3.0

* MAJOR RELEASE: Please backup before you update. This update WILL BREAK existing projects.

* Re-worked most of the modules from the ground up: Stats, Dictionaries, Items, and Loot

2.7

* Added the ability to select specific Item and StatOrSkill objects in custom Dictionaries.

* Added Unique ID to StatAndSkill objects

* NOTE: If you're upgrading an existing project, select each "Items" object and your "RPGData" object, which will set the Unique ID values for everything.

2.6.2

* Added Unique ID to Items

* Cleaned up some code

2.6.1

* Bug fix w/ the Items module

2.6

* Some cleanup

* Added a "Buff / Modification" demo to the Items module. See the video for more information.

2.5

* Removed need for define symbols.

2.4

* All modules now delivered in this download.

* Added Inventory Module

* Added Gametime Module

2.3.2

* Items Bug fix -- SetItemsDirty() was hidden without the Dictionaries module. This has been fixed.

* Stats & Skills - Bug fix with Skill Data Objects not serializing

2.3.1

* Bug fix

2.3

* Refactoring

* Stats and Skills now has dictionaries linked to Character Race and Character Class

2.2.1

* [Items Module] Made "Items" to be a class not a ScriptableObject -- this may affect existing projects!

2.2

* Code cleanup and refactoring

2.1.1

* Minor code updates

2.1

* Updated Dictionaries, Stats and Skills, and Items

2.0

First release (Not really)

* Visit the for the latest updates.

Updated "Repositories" concept
documentation