데이터 타입과 C++ 통합
#모듈 설정
게임 모듈의 Build.cs에 PlanetX 런타임 모듈을 추가합니다.
PublicDependencyModuleNames.AddRange(new[] { "PlanetX" });각 타입을 소유하는 헤더를 Include하세요. 자주 사용하는 진입점은 다음과 같습니다.
PlanetX/Core/PlanetXTypes.hPlanetX/Coordinates/PlanetXTransform.hPlanetX/Coordinates/PlanetXCoordinateUtils.hPlanetX/Movement/PlanetXMovementTypes.hPlanetX/Movement/Handoff/PlanetXMovementHandoffTypes.hPlanetX/Travel/PlanetXLevelPair.hPlanetX/Transition/PlanetXTransitionTypes.hPlanetX/Validation/PlanetXValidation.h
#안정 Transform 계약
FPlanetXTransform은 DataVersion, PlanetId, PlanetBindingId, PlanetFixedPositionCm, PlanetFixedRotation, Scale3D Reflection Field를 가진 Blueprint Type입니다. Position 단위는 cm입니다. UPlanetXSubsystem 또는 UPlanetXCoordinateComponent로 Resolve·Capture하고, World Transform을 Representation과 무관한 저장 Pose로 취급하지 마세요.
#안정 Movement Handoff 타입
안정 Handoff 계약은 다음을 포함합니다.
FPlanetXMovementHandoffHandle:SnapshotId,GenerationFPlanetXMovementHandoffCaptureRequest: Source·Target Frame, Source·Target Actor Space State,LifetimeSecondsFPlanetXMovementHandoffApplyOptions: Continuity, Activation, Velocity Update, Consume와 Same Actor 정책FPlanetXMovementHandoffSnapshot: Version, Handle, Source Identity와 Frame, Movement State, Capture Time, Lifetime, StateFPlanetXMovementHandoffResult:bSucceeded,Error,Handle,DiagnosticContext
안정 Reflection Enum에는 EPlanetXTransformSource, EPlanetXMovementHandoffState, EPlanetXMovementContinuityPolicy, EPlanetXMovementVectorSpace가 있습니다. 실제 배포하는 Plugin Version의 헤더를 기준으로 Compile·Serialize하고 숫자 값이나 Layout을 추정하지 마세요.
#Travel Route 선택
FPlanetXTravelRoute는 PlanetX/Transition/PlanetXTransitionTypes.h에 선언되며 World, PlanetId, SectionId, PlanetActorIndex, PlanetBindingId를 포함합니다. PlanetActorIndex 기본값은 INDEX_NONE입니다. 후보가 정확히 하나일 때만 자동 선택하며 0은 첫 번째 deterministic 후보를 명시적으로 선택합니다. 두 Selector를 함께 지정하면 Index와 Binding ID가 같은 후보를 가리켜야 합니다.
#Coordinate와 Validation Helper
FPlanetXCoordinateUtils는 지원 Coordinate 표현 사이의 순수 C++ 변환을 제공합니다. Runtime Registry가 필요한 변환은 UPlanetXSubsystem을 사용하세요. cm 단위, 유한한 값과 정규화된 방향 가정을 지키고 성공값을 항상 확인합니다.
PlanetXValidation은 C++ Tool을 위한 구조화된 Validation을 제공합니다. Severity, Code, Subject와 Remediation Text를 유지하세요. Validation은 Asset을 암묵적으로 Repair하거나 Save하지 않습니다.
#제외되는 구현 표면
생성 Mesh 데이터, Boundary Reconstruction 중간체, Bake Pass, 내부 Runtime Service와 Shard·Serialization Payload는 선언이 공개되어 있다는 이유만으로 안정 Game Save 또는 Network 계약이 되지 않습니다.