Mutable使用時のマルチプレイにおけるメッシュ表示不良について

明示的な更新は行っていないということで初期状態のメッシュがスケルタルメッシュにセットされないという問題でよろしいでしょうか。

CostomizableObjectは基本的には各プロセス上のローカルで動作するはずです。状況を共有するためにCustomizableSkeletalComponentに対してどのような初期設定やランタイムでの設定を与えているかを共有していただきたいです。もし再現プロジェクトが共有可能であれば是非ご共有いただけますと詳しい調査が可能になりますのでご検討ください。

この問題を踏まえてご調査いただいた内容の中で​

>UpdatedDelegate(またはUpdatedNativeDelegate)が呼び出されていません。

​という部分がありますが、こちらはUCustomizableSkeletalComponent::UpdatedDelegateでしょうかそれともUCustomizableObjectInstanceUsage::UpdatedDelegateでしょうか?

恐らく独自になにか関数を登録されていて、正常に動作するか否かの分岐点になっているとご判断されているのだと思うのですがこの処理内容や意図についてご共有いただけますと助かります。

手元で動作を確認したところメッシュの設定処理としては最初は以下のコールスタックで示されるように​ UCustomizableObjectInstanceUsagePrivate::Tick で処理されていました。

UnrealEditor-Engine.dll!USkeletalMeshComponent::SetSkeletalMesh(USkeletalMesh * InSkelMesh, bool bReinitPose) Line 3193 C++ UnrealEditor-CustomizableObject.dll!UCustomizableObjectInstanceUsagePrivate::SetSkeletalMeshAndOverrideMaterials(USkeletalMeshComponent & Parent, USkeletalMesh * SkeletalMesh, const UCustomizableObjectInstance & CustomizableObjectInstance, bool * bOutSkeletalMeshUpdated, bool * bOutMaterialsUpdated) Line 346 C++ UnrealEditor-CustomizableObject.dll!UCustomizableObjectInstanceUsagePrivate::Tick(float DeltaTime) Line 654 C++ UnrealEditor-Engine.dll!FTickableGameObject::TickObjects(UWorld * World, ELevelTick LevelTickType, bool bIsPaused, float DeltaSeconds) Line 196 C++ UnrealEditor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 2193 C++ UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 550 C++ UnrealEditor.exe!FEngineLoop::Tick() Line 5877 C++ [Inline Frame] UnrealEditor.exe!EngineTick() Line 69 C++​UpdateSkeletalMeshを明示的に呼び出した場合には以下のコールスタックでも更新が行われますが、手動での更新は行われないということですのでこちらは除外できそうです。

UnrealEditor-CustomizableObject.dll!UpdateSkeletalMesh(const TSharedRef<FUpdateContextPrivate,1> & Context) Line 952 C++ UnrealEditor-CustomizableObject.dll!impl::Task_Game_Callbacks(const TSharedRef<FUpdateContextPrivate,1> & OperationData) Line 2902 C++ [Inline Frame] UnrealEditor-CustomizableObject.dll!TDelegate<void __cdecl(void),FDefaultDelegateUserPolicy>::Execute() Line 613 C++ UnrealEditor-CustomizableObject.dll!UCustomizableObjectSystem::AdvanceCurrentOperation() Line 3556 C++ UnrealEditor-CustomizableObject.dll!UCustomizableObjectSystem::TickInternal(bool bBlocking) Line 3827 C++ UnrealEditor-Engine.dll!FStreamingManagerCollection::UpdateResourceStreaming(float DeltaTime, bool bProcessEverything) Line 894 C++ UnrealEditor-Engine.dll!IStreamingManager::Tick(float DeltaTime, bool bProcessEverything) Line 737 C++ UnrealEditor-Engine.dll!FStreamingManagerCollection::Tick(float DeltaTime, bool bProcessEverything) Line 866 C++ UnrealEditor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 2414 C++ UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 550 C++ UnrealEditor.exe!FEngineLoop::Tick() Line 5877 C++​正常系でのメッシュ設定処理がどのように行われているかご確認されていると思うのですが、UCustomizableObjectInstanceUsagePrivate::Tick内で処理されているということで間違いないでしょうか?