Fix for PythonAssetBuilding auto tests by updating the logic plus the names of the output models
fix an access violation for auto complete in the console
Signed-off-by: Jackson <23512001+jackalbe@users.noreply.github.com>
Renamed document related buses and components to have generic names
Added a base document class with default implementation from which other application specific documents can be derived to work with the document system
Added document factory function registration to the document system request bus so that each application can specify the type of document it creates
Updated all comments and messaging to only refer to documents, not materials or material documents
Updated material editor and shader management console to conform to the new buses
This will provide a first pass of a common interface for a document management system that can be shared by multiple applications
Corrected status bar message copy and paste errors
Updated all test scripts to use the new buses
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
* Removed a couple of legacy cgf/mtl and removed unused texture files.
* Replaced Jack with the correct version (the previous version had different joint names than the animations used).
* Increased the version in the actor group exporter to reprocess the actors due to PR #2957
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
Adds a new ebus for prefab apis and refactored the apis
Removed an empty test level
Auto delete tmp level when teardown tests
Add Base test level in Prefab folder
Removed unused comments
Checked if absolute path as an input of Create Prefab functions
Changed created prefab file path to support all platfroms
Added missing includes
Signed-off-by: chiyteng <chiyteng@amazon.com>
* MaterialEditor BasicTests added to AutomatedTesting for AR
Signed-off-by: Scott Murray <scottmur@amazon.com>
* launch_and_validate_results adding a waiter.wait_for to the log monitor so the log file exists
Signed-off-by: Scott Murray <scottmur@amazon.com>
* adds the Light component GPU screenshot test to AutomatedTesting
Signed-off-by: jromnoa <jromnoa@amazon.com>
* add LIGHT_TYPE_PROPERTY constant to test script since it is re-used multiple times
Signed-off-by: jromnoa <jromnoa@amazon.com>
* removes redundant f strings, adds LIGHT_COMPONENT and LIGHT_TYPE_PROPERTY constants for re-use, removed formattng errors, increase CMakeLists.txt timeout, add attach_component_to_entity() to hydra_editor_utils.py
Signed-off-by: jromnoa <jromnoa@amazon.com>
* fix ImportError
Signed-off-by: jromnoa <jromnoa@amazon.com>
* moves the LIGHT_TYPES constant to a new file since scripts rely on it that do not have the Editor launched (can't see hydra bindings so failes with ModuleNotFound error)
Signed-off-by: jromnoa <jromnoa@amazon.com>
* Addressing CMake warning and removing timeouts that are the same as the default
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* missed this one
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Making it an error so developers stops putting timeouts longer than the allowed one since it causes AR issues
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* fixing warning from the nightly build
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* disabling test that is triggering a timeout
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
* Add CaptureCpuFrameTime method to ProfilingCaptureSystemComponent for monitoring CPU performance.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
* ly_test_tools: Refactor benchmark data aggregator in preparation for CPU frame times.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
* performance benchmarks: Aggregate and report CPU frame times based on JSON data.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
* AutomatedTesting: Capture CPU frame time in AtomFeatureIntegrationBenchmark.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
The serialize context tools were not being auto built by CI because of
this.
Added missing dependency on AzTestRunner.
Also moved the AssetBundlerBatch dependency directly in there
No reason to add it to additional_dependnecies, since its only
used for conditional inclusions.
Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
from 'project root' to 'project root/Assets/Physics'
The functionality of creating / using the default physmaterial file has only change in related to the file location, other functionality is unchanged.
The following situations can occur:
This will not affect have any project that uses a custom physmaterial file.
This will not affect have any project that uses the default from the old location, as the configuration will still point there.
New projects created will get the default physmaterial file at the new location.
A Project that fails to load (or deletes) the selected physmaterial file, will get the default physmaterial file at the new location (this happens only on startup of the editor).
Issue: #2765
Signed-off-by: amzn-sean 75276488+amzn-sean@users.noreply.github.com
* Re-add support for UI Elements that use Render Targets
* Move LyShine pass request from Atom's MainPipeline.pass to project's
* Make all dynamic draw contexts in LyShine draw to pass directly without the need of draw list tags
* Remove local RPI changes that are no longer needed
* Prevent crash if LyShine gem is enabled but its custom pass hasn't been added to the main render pipeline
* Revert to default UI pass if the LyShine pass has not been added to project's main render pipeline
Signed-off-by: abrmich <abrmich@amazon.com>
* Cleared m_scriptFilename between scene files.
This fixes a bug where a Python script file would be run on a scene file
that didn't have a script file set.
Added a general case version to SceneBuilderWorker.cpp, to make it easy
to mark all scene files as dirty.
Automated tests for this will come in a separate pull request.
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Work in progress automated tests
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Python test done
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Sorted jobs work now. This may sort too aggressively, I'll remove the additional sorting after some testing.
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Cleaned up test
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Fixed stray '
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Removed temp code from test
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Command line help options for AP
Removed job sorting that wasn't actually sorting jobs
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* Changed constant variable names to match coding standards
Signed-off-by: stankowi <4838196+AMZN-stankowi@users.noreply.github.com>
* [ATOM-16016] Add initial level for AtomFeatureIntegrationBenchmark to AutomatedTesting.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
* [ATOM-16016] Add new AtomFeatureIntegrationBenchmark to AutomatedTesting.
Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
Engine improvements/fixes
Fixed behavior that made the editor automated test to be sometimes stuck if lost the focus is lost.
Added support for specifying multiple tests to in batch to the editor, this is achieved by passing --runpythontest with the tests separated by ';'
Added new cmdline argument --project-user-path for overriding the user path. This allows to have multiple editors running writing logs and crash logs in different locations.
Moved responsability of exiting after a test finishes/passes out of ExecuteByFilenameAsTest, callers will use the bool return to know if the test passed.
Editor test batch and parallelization implementation:
Now the external python portion of the editor tests will be specified via test specs which will generate the test. Requiring no code. This is almost a data-driven approach.
Tests can be specified as single tests, parallel, batchable or batchable+parallel
Command line arguments for pytest to override the maximum number of editors, disable parallelization or batching.
Automated tests for testing this new editor testing utility
Signed-off-by: Garcia Ruiz <aljanru@amazon.co.uk>
Co-authored-by: Garcia Ruiz <aljanru@amazon.co.uk>
* Update fbx test dbgsg files
Remove rc products from fbx test expected output
Update warning counts for 2 of the tests - these are due to missing material properties
Add SkipAtomOutput setting to disable atom material and mesh processing in scene as these pull in a lot of external dependencies to Process
Removed BlendShapeData and MeshData debug output of positions/normals/faces
Updated ManifestImportRequestHandler to remove warning about Joining 2 absolute paths
Updated AssImpMaterialImporter to use new GenerateRelativeSourcePath API to fix issue where relative path generation failed with tmp project directories
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add comment for setting
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add override dbgsg file to python test
The mesh optimizer specifically avoids creating optimized nodes for nodes that are not selected, resulting in a different scene graph that requires a different dbgsg file to compare with
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Replace hardcoded passing of specific registry setting to instead pass all registry settings to AssetBuilder
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Create AWS Core automation for the interacting with AWS resources via the AWS Core gem.
Signed-off-by: junbo <junbo@amazon.com>
Co-authored-by: clujames <clujames@amazon.com>
alias INTERFACE LIBRARY targets.
This was causing the dependent Atom_AtomBridge sub gems from not being
found when generating the cmake_dependencies.*.setreg file containing
the list of gem modules to load
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated gem.json for all top-level Gems. All the top level gems now have identical gem.json formats based on the DefautlGem template gem.json. Two additional fields have been added, a type: field and a requirements: field. These fields are for display in Project Mananger. All gem.json files have a default requirements: value of None. Devs are responsible for providing requirements. Gem descriptions and tags have been signed off by developers.
Signed-off-by: Cronin <mikecro@amazon.com>
* Fixed minor formatting issues with RADTelemetry gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to QtForPython gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the Twitch gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to AWSCore gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the AtomTressFX gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the end of the AudioEngineWwise gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the end of the CertificateManager gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removing extra whitespace in summary of CrashReporting gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the end of the CustomAssetExample gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removing extra whitespace in editorPythonBindings gem summary
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the end of the ScriptedEntityTweener gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the end of the Gestures gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removing extra whitetspace in the summary of the GameStateSamples gem
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the end of the ExpressionEvaluation gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the ProjectManager PythonBindings.cpp code to reference the
newer fields in the gem.json files
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updating the Gem and Project templates gem.json files to include the
"type" and the "requirements" field.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the default "requirments" field value to be empty string instead
of "None"
This works better with the ProjectManager GemInfoFromPath function.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Correcting "summary" field name
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added the requirements text to the AudioEngineWwise Gem
This gem requires downloading the Wwise 3rdParty library from AudioKinetic's website
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Co-authored-by: Mike Cronin <58789750+micronAMZN@users.noreply.github.com>
* Updated gem.json for all top-level Gems. All the top level gems now have identical gem.json formats based on the DefautlGem template gem.json. Two additional fields have been added, a type: field and a requirements: field. These fields are for display in Project Mananger. All gem.json files have a default requirements: value of None. Devs are responsible for providing requirements. Gem descriptions and tags have been signed off by developers.
Signed-off-by: Cronin <mikecro@amazon.com>
* Fixed minor formatting issues with RADTelemetry gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to QtForPython gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the Twitch gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to AWSCore gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the AtomTressFX gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the end of the AudioEngineWwise gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the end of the CertificateManager gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removing extra whitespace in summary of CrashReporting gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the end of the CustomAssetExample gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removing extra whitespace in editorPythonBindings gem summary
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the end of the ScriptedEntityTweener gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the end of the Gestures gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Removing extra whitetspace in the summary of the GameStateSamples gem
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adding newline to the end of the ExpressionEvaluation gem.json
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the ProjectManager PythonBindings.cpp code to reference the
newer fields in the gem.json files
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updating the Gem and Project templates gem.json files to include the
"type" and the "requirements" field.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the default "requirments" field value to be empty string instead
of "None"
This works better with the ProjectManager GemInfoFromPath function.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Correcting "summary" field name
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added the requirements text to the AudioEngineWwise Gem
This gem requires downloading the Wwise 3rdParty library from AudioKinetic's website
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
[LYN-4915] [iOS] [Android] awscoreconfiguration.setreg, awsMetricsClientConfiguration.setreg and authenticationProvider.setreg couldn't be loaded when the application starts
* Final update copyright headers to reference license files at the repo root
Signed-off-by: spham <spham@amazon.com>
* Fix copyright validator unit tests to support the stale O3DE header scenario
Signed-off-by: spham <spham@amazon.com>
* Fix for DeleteCachedAssets_AssetsReprocessed fails on Debug Nightly Builds
* added -ap_disableAssetTreeView=true to disable the Qt tree view for the asset tab to get the parts that want to be tested finish
* only shows up on Debug
Tests:
=== test session starts ===
AutomatedTesting/Gem/PythonTests/assetpipeline/asset_processor_tests/asset_processor_batch_tests_2.py::TestsAssetProcessorBatch_AllPlatforms::test_AllSupportedPlatforms_FastScanWorks_FasterThanFullScan[windows-AutomatedTesting] PASSED [ 50%]
AutomatedTesting/Gem/PythonTests/assetpipeline/asset_processor_tests/asset_processor_batch_tests_2.py::TestsAssetProcessorBatch_Windows::test_WindowsPlatforms_RunAPBatchAndConnectGui_RunsWithoutEditor[windows-AutomatedTesting] PASSED [100%]
--- generated xml file: F:\amazon\o3de\build\vs2019\Testing\Pytest\AssetPipelineTests.Batch_2_Sandbox.xml ---
=== 2 passed, 4 deselected in 18.32s ===
* using O3DE engine assets instead of level.pak
* updated the binary find() logic for DeltaCatalog.xml
Tests: AutomatedTesting/Gem/PythonTests/assetpipeline/asset_processor_tests/asset_bundler_batch_tests.py
* Fix resource mappings file names and client auth warnings and asserts conditions
* Add comments to explain reasoning for client auth role permissions
* Update comments based on feedback
* Fix AWSClientAuth unit test
* Add AWS AutomatedTesting levels
* Update AWSCoreConfiguration to use default profile
* Update lambda name
* Add cdk update command before tests run
* Update global cdk version before runnign tests.
* Add npm update command
* More cdk changes
* More cdk changes
* Shortening project names for cdk
* increase timeout for AWSTests
* Add comments
* Set AWSTests to periodic test suite
* Update logic to re install cdk and deploy bootstrap
* change version to list to catch version mismatch
* Move AWS fixtures to module directory scope
* Fixing issues with cdk utils
* Add cdk setup to be called on cdk fixture function
Bone transforms buffer is not valid when using Null renderer, which caused the test to fail since it reported an error and ultimately crashing as well. For now it's been worked around by checking the pointer is valid and not printing the error when null renderer is used, a task for the Atom team has been created to fix this properly in the future (ATOM-15807).
* Update the minimum CMake version to 3.20
Sets the cmake_minimum_required calls to version 3.20 and updates the
README.md to point at the general CMake download page instead of a stale
link.
* Remove unnecessary cmake minimum version
It was using an old 3.0 version and can be removed.
* Additional updates to CMake 3.20, build scripts
Updates the version and remove logic to find a CMake in 3rdParty.
* Removing backup path to ninja path in the build_ninja_windows.cmd
The backup path for finding ninja was coming from the Perforce depot which isn't available for o3de builds.
* Removing reference to 3rdParty Android SDK 29 from the build and run unit test script
The Android SDK is not part of the new 3rdParty system and users are expected to install the Android SDK on their own in order to build the engine for Android.
* Update the get_python scripts and README
No longer try to append a CMake path to LY_3RDPARTY_PATH, but do still
support LY_CMAKE_PATH because there are still uses of it. Remove
mention of an LY_3RDPARTY_PATH-relative CMake path from the README.md.
* Removing LY_NINJA_PATH from the build_ninja_windows.cmd
Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
- Added button to PhysX Collider Component in PhysX Mesh's field to open FBX Settings.
- Added button Material Selection to open the physics material library in Asset Editor.
- Default Material in PhysX configuration is read only and consistent with the text in combo boxes.
- Material configuration field "Surface Type" renamed to "Name"
- Fixed bug in EditorColliderComponent where the material selection was not updated when changing the library.
- Fixed bug where the materials selection was not set to default when a physics material from the asset was not found in the library.
- Added attributes 'BrowseButtonEnabled' and 'BrowseButtonVisible' to PropertyAssetCtrl.
- Updated physx configuration setreg files of AutomatedTesting project.
* Updating the DefaultProject template to not insert the project-path parameter into the VS Debugger Arguments for any applications
Added project-path injection directly within the LauncherUnified and AssetBuilder cmake scripts where their targets are defined
* Removing the add_vs_debugger_arguments call from the AutomatedTesting CMakeLists.txt
* Fixed the relative path in the Source param for the PrefabLevel_OpensLevelWithEntities prefab. Plus bonus capitalization fix.
* Add empty Cached Transform Parent parameter to prevent patch application issues. This will be fixed once prefab sanitation on load is added.
* * Remove test repository references
* * Update asset_builder_tests.py docstring to include test steps
* * Update test docstrings in asset_bundler_batch_tests.py to include test
steps
* * Update asset_processor_batch_dependency_tests.py docstrings to contain
test steps
* * Update asset_processor_batch_dependency_tests2.py docstrings to have
test steps
* * Update asset_processor_batch_tests.py docstring to include test steps
* * Update asset_processor_batch_tests_2.py docstrings to include test
steps
* Removed a references to a JIRA ticket ID
* * Update asset_processor_guit_tests.py docstrings to include test steps
* * Update asset_processor_gui_tests_2.py docstrings to have Test Steps
* * Update asset_relocator_tests.py docstrings to include test steps
* * update missing_dependency_tests.py docstrings to have test steps
* * Update auxiliary_content_tests.py docstrings to have test steps
* * Update fbx_tests.py docstrings to have test steps.
* * Update bank_info_parser_tests.py docstrings to have test steps
* * Removed Jira issue ids from Asset Pipline owned code
* * Undid two errornous code changes.
* * Addressed dbbronso PR-978 feedback.
* Steps declared and not populated. 1 - Removed errornous. 2 - Added missing step
* Fixed line formatting by removing bad blank line in Docstring
* Addressed PR-978 feedback from AMZN-stankowi
* Removed commented out entry from cmakefile
* Fixed several casing and spelling/typo issues caught in review
* Added a missing test step in asset_bundler_batch_tests.py
* Removed a test dealing with external projects, cut LYN-4116 to replace
* Calarfied test steps in asset_processor_gui_tests.py
* Noted test in asset_processor_gui_tests that cannot be ran manually
* Clarified test steps for fbx_tests
* Added in a comment and whitespace to a disguised operation.
Co-authored-by: stankowi <stankowi@amazon.com>
- Invalidate 'Physics Materials From Mesh' boolean from collider component
- Removed material library from material selector. Default material library will always be used instead.
- Marking failing automated test as xfail
- Added default material to physics configuration.
- Moved material library asset from physx configuration to physics configuration, as it doesn't need to be physx specific.
- Refactor physics material system having into account that there is only one material library in the project.
- Renaming code from DefaultMaterialLibrary to MaterialLibrary.
- All queries about physics materials unified under PhysicsMaterialRequests bus.
- PhysXSystem only manages the material library asset.
- Saving and reloading the same physics material asset with different content didn't trigger a events that the material library has changed.
- Changing Physics Material Request interface to use shared_ptr instead of weak_ptr to be simpler to handle the returned materials and having a more consistent code.
- Refactored Material Manager to improve its implementation. Still following the same approach of "creating materials on the fly as they are requested", but now it's doing it consistently across the interface, with private helpers functions FindOrCreateMaterial that simplify vastly the implementation.
- Material Manager now listens to change event of material library asset and default material configuration so it updates its materials accordingly.
- Complete Material move constructor and operator.