Releases: pancake-llc/foundation
3.1.2
Changed
- Add wiki Performance Guide
- Add wiki Benchmark
- Fix wrong syntax use enum
EStartupMode
forSpine
- Add method extension
Adds
replace forAddRange
ofList
- Add method
PrewarmAsync
forSharedGameObjectPool
andGameObjectPool
usingInstantiateAsync
API
3.1.1
3.1.0
Changed
- Update searchable menu item
- Remove interface helper, using Odin
SerializedMonoBehaviour
instead - Remove gaussian distribution and geometry in common math
- Add color plate to customizing the default color palette for editor in
Uniform
- Add AIBrain
- Rework make
Sensor
easy to use - Mirror fix bug and update
Finder
fully support addressable and sprite atlas - Hide button create scriptable when declare type is abstract class
- Add
BoxDrawGizmo
andSphereDrawGizmo
support draw bound ofBoxCollider
andSphereCollider
viaGizmo
. They will be automatically removed during the build process. - Add
TagAttribute
draw by Odin - Using Unity 6000.0.24f1
- Update AppLovin 8.0.0 using scope registry
- Update Admob 9.2.1 and mediation, remove
AdColonyUnityAdapter
- Remove toggle DOTweenAdapter
- Add
DebugDraw
not use gizmos - Remove unity HFSM
- Add method extension
Removes
for list - Add simple State pattern
- Add simple Visitor pattern
- Add simple Strategy pattern
- Add simple Command pattern
- Add simple Observer pattern
- Add simple Decorator pattern
- Update use button to show debug instead native ui toolkit because in mobile hard to click to toggle header
- Update Wiki
- Update Inits (add GetAsync service)
- Update Custom Header system for component rename, added custom headers for the following built-in Unity components: Light, Renderer and SpriteRenderer
- Rollback using EventBus from version 2.x , rename EventBus to Messenger and remove pacakge VitalRouter. Messenger
- Update default sample
3.0.7
3.0.6
Changes
- Update support AppLovin 7.0.0
- Update use directly official adjust package since adjust 5.0 already include signature native inside
- Fix remote config not provide way access data
- Update support draw scriptable in dictionary serialized by Odin
- Fix empty data demo scene when switch to Odin
- Fixed error when dragging an Object into a Services component slot with an existing service type
3.0.4
Changes
- Update way embedding Init sections into the Inspector to better compatibility with Odin
- Assign directly icon for value provider and initializer (or via EditorIcon attribute) instead of using icon processor access default unity resources icon
- Improved error messages logged to inform about issues detected during service initialization.
- Update VitalRouter 1.4.3
3.0.3
Changed
- Add extension SafeDestroy GameObject
- Using Odin
- Update Finder to support addresable and lightmap, and cleanup
- Bugfix service in sample, confirm work in build
- Support Adjust 5.0.3 with new api
- Update UniTask
- Provide reason in IAPPurchaseFail Event
- Update Init
3.0.2
Changed
- Fix wrong syntax method
IsSymbolDefined
inAdSettingDrawer
- Update signature method create
StatModifier
(duration param now had default value is 0) - Add interface
ITimeProvider
- Add
VersionedBinaryAdapterBase
inherit form this class to be able to identify the version of the serialized data for the adapter. see - Update demo
- Button LoadComponent in header component now only display when component inherit form
ILoadComponent
- Remove button move down and move up component to saving space
- If component renamed by F2 hide all button
- Mirror refactor script editor
- Add
Tab Everything
, drag and drop everything to create separate tab, see more setting in menuTools/TabEverything
Full Changelog: 3.0.1...3.0.2
3.0.0
What's Changed
Full Changelog: 2.7.3...3.0.0
Breaking Changes: If your project is using a lower version (2.x or 1.x) please do not update to this version because it contains changes that break the structure of the older versions.
-
Compatible with unity 6000
-
Split part into common assembly containing contents shared by other modules. Heart will now consist of 4 main folders:
- Common
- Core
- Editor
- Modules
-
UniTask is now no longer embedded inside heart but installed via UPM
-
Apex was removed due to difficulty in maintenance, instead using Alchemy with Flexible structure and closer to Unity
-
The old tree map and row separator are already built in with Alchemy see #91
-
NamePickupAttribute
has been removed,PopupPickupAttribute
,PagePickupAttribute
,SheetPickupAttribute
will now inherit fromAlchemyAttributeDrawer
and optimize performance partly but these attributes still have relatively poor performance due to having to traverse assemblies, now each type will have a different color displayed on the inspector. -
Removed unused textures and unified the textures together, the main color was changed to light blue, all textures were gathered in the
Heart/Editor/Textures
folder -
ScriptableObjectCopyPaste
has been removed -
ScriptingDefinition
has been updated The specific APINamedBuildTarget
is obsolete and replaced byBuildTargetGroup
-
The wizard has been redesigned for a cleaner look. The Wizard windows are also moved into the wizard folder in the module for easier reference by assembly.
-
HeartWindowInstaller
has been added to install missing package requirements -
FindAssetWithPath
provide find outside heart package when place directly path true -
DefaultTransitionSetting
is renamed toDefaultNavigatorSetting
-
Fix bug stack over flow when use
PopupBackdropPrefab
inNavigation
setting -
Add a create backdrop prefab button inside
Navigation
setting -
Admob
now callSetiOSAppPauseOnBackground
onInit
to have the same behavior on ios as android -
Baking sheet
now included directly in the heart to be able to handle operations with Google Sheets.Localization
now use baking sheet to fetch data from google sheet then create ScriptableObject. Some csv reading performance improvements have been applied, excel support removed -
Improved
Finder
performance and support for ui tookit and shader graph. NowFinder
will be disabled by default when entering playmode -
Localization
add button Fill All for Locale Text -
Localization
add button Translate for Locale Text -
OnPostProcessBuildAddFirebaseFile
now only call whenFirebase
installed -
Replacer Font
has been removed due to its risk -
Remove
UI Unlit Mask
shader, no shader will be included in heart -
The reworked sound system is more flexible and easier to use than before.
-
The previous debug system has been removed in favor of a UI toolkit implementation, and the swipe up gesture to enable debug has also been removed.
-
Added strategies to manage
PopupBackdrop
such asGeneratePerPopup
which will behave as before with one backdrop per Popup orOnlyFirstBackdrop
which will have only one backdrop -
PrimeTween
is now replaced byLitMotion
-
Add
InterfaceHelper
to allows Assigning in inspector for UnityEngine.Objects that implement T (event for interfaces) -
Remove NeedleConsole and Selective Profiling
-
ScriptableObject Architecture has been completely removed
-
Fix component header button can't click in unity 6
-
Add button load component for script implement interface
ILoadComponent
-
Editor will now use
TargetFrameRate
setting separate from Runtime -
The Editor toolbar is now always dark
-
Add event
OnHoldStoppedEvent
forUIButton
-
Use separate ease for motion down and up of
UIButton
-
Add information such as price, title, description by country and invoice to
IAPData
-
Add
MainUIContainer
to access ui containers in the current context via their type -
Add simple abstract scriptable event (
Event
andEventT1
) -
Add Completed for
AsyncProcessHandle
-
Add
HideEnumAttribute
to hide some enum value fields for specified field -
Add HFSM a simple yet powerful class-based hierarchical finite state machine for Unity
-
Add interface
IVisitor
andIVisitable
-
Add
StatModifier
-
Add light weight healthbar, draw all health bar with one draw call
-
Add algorithm to make randomization in Bag more unpredictable and adjustable as desired
-
Add fullscreen it puts editor windows in fullscreen mode, simple and easy, useful for recording, testing in a real gaming environment and tweaking your scene
-
Add Rename Component in inspector to specify purpose of similar components. Click on the header component and press F2 to rename it.
-
Add DI via Inits
-
Replace legacy
EventBus
system withVitalRouter
Know Issue
PickupDrawer
fields sizes are not uniform
2.7.0
Changed
- update: assign startingAnimation when play only skeleton graphic
- add: button callback variable to access the button's callback via scriptable
- add: more method extension of spine
- update: use built-in pipeline as default
- refactor name scriptable
- add: async raycast
- remove: grow mesh
- remove: greenery
- update: scriptable now only draw unity type in preview
- update: ignore expand scriptable in collection
- update: bag and bag drawer to more useful
- update: tween version
- add: IgnoreTypeMismatch attribute to fix issue type mismatch when assign scene object to scriptable variable
- add: check null for method IsSerializable
- add: class Random value
- update: improve performance apex
- fix: only set value of remote config with ValueSource is RemoteValue
- add: contains layer mask method extension
Breaking Change
Scriptable Variable will now only set the value via the InitialValue field in Editor Mode. The value using "Value" will only be displayed in Play Mode. It will be initialized as the InitialValue value or taken from Saved Data when entering PlayMode.