The presence of a colon ':' character in the category string of a UPROPERTY will cause iterative cooking to generate the following error:
Found unparsable ini setting Windows.EditorPerProjectUserSettings:DetailCategories:EQSTestingPawn_C.Character Movement: Walking:0 for platform mac, invalidating cook.
The above is one such example from UCharacterMovementComponent on a mac build, though it would happen regardless of component or platform.
The cause appears to be that UCookOnTheFlyServer::GetCookedIniVersionStrings assumes that each string will be delimited with exactly 3 colons as follows:
FileName:SectionName:ValueName:ValueIndex
This assumption is broken by UPROPERTY categories that have a colon in their name, such as found in UCharacterMovementComponent::MaxStepHeight which is declared as:
/** Maximum height character can step up */
UPROPERTY(Category="Character Movement: Walking", EditAnywhere, BlueprintReadWrite, meta=(ClampMin="0", UIMin="0"))
float MaxStepHeight;
Include a colon in a uproperty and see if iterative cookign works.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-40623 in the post.
1 |
Component | UE - Foundation - Core - Cooker |
---|---|
Affects Versions | 4.14 |
Target Fix | 4.16 |
Created | Jan 13, 2017 |
---|---|
Resolved | Jan 23, 2017 |
Updated | Jun 23, 2018 |
3140 - projectgheist |