Section 2.2.5 rdInstBase- Instancing – Per-Instance Custom Data

// [rdInst v1.24] Sets the Number of CustomData per Instance
void rdSetNumInstCustomData(UStaticMesh* mesh,int32 numData);

// [rdInst v1.40] Sets the Number of CustomData per Instance
void rdSetNumInstCustomDataFast(UInstancedStaticMeshComponent* ismc,int32 numData);

// [rdInst v1.24] Gets a READONLY reference to the Per-Instance CustomData for the mesh
UPARAM(DisplayName="CustomFloats") TArray<float>& rdGetCustomDataPtr(UStaticMesh* mesh,int32& numData);

// [rdInst v1.40] Gets a READONLY reference to the Per-Instance CustomData for the ISMC
UPARAM(DisplayName="CustomFloats") TArray<float>& rdGetCustomDataPtrFast(UInstancedStaticMeshComponent* ismc,int32& numData);

// [rdInst v1.24] Sets a value to the Per-Instance CustomData for the mesh
void rdSetCustomData(UStaticMesh* mesh,int32 instanceIndex,int32 dataIndex,float value,bool batch=false);

// [rdInst v1.40] Sets a value to the Per-Instance CustomData for the ISMC
void rdSetCustomDataFast(UInstancedStaticMeshComponent* ismc,int32 instanceIndex,int32 dataIndex,float value,bool batch=false);

// [rdInst v1.40] Sets all the values to the Per-Instance CustomData array for the mesh
void rdSetAllCustomData(UStaticMesh* mesh,UPARAM(ref) TArray<float>& data,bool update=true);

// [rdInst v1.40] Sets all the values to the Per-Instance CustomData array for the ISMC
void rdSetAllCustomDataFast(UInstancedStaticMeshComponent* ismc,UPARAM(ref) TArray<float>& data,bool update=true);

// [rdInst v1.24] Updates the Per-Instance CustomData for the mesh
void rdUpdateCustomData(UStaticMesh* mesh);

// [rdInst v1.40] Updates the Per-Instance CustomData for the ISMC
void rdUpdateCustomDataFast(UInstancedStaticMeshComponent* ismc);

// [rdInst v1.41] Fill CustomData with values created with the parameters you pass in
void rdFillCustomData(UStaticMesh* mesh,int32 offset=0,int32 stride=1,float baseValue=0.0f,float randomVariance=0.0f,int32 granularity=1,float inc=0.0f,float incRandomVariance=0.0f);

// [rdInst v1.41] Fill CustomData with values created with the parameters you pass in
void rdFillCustomDataFast(UInstancedStaticMeshComponent* ismc,int32 offset=0,int32 stride=1,float baseValue=0.0f,float randomVariance=0.0f,int32 granularity=1,float inc=0.0f,float incRandomVariance=0.0f);

// [rdInst v1.42] Set CustomData value within the specified area and ISMCs
int32 rdFillCustomDataInArea(const TArray<UInstancedStaticMeshComponent*> ismcs,const FVector& loc,float radius,const FVector& box,int32 index,float value);

// [rdInst v1.42] Set CustomData values within the specified area and ISMCs
int32 rdFillCustomDataInAreaMulti(const TArray<UInstancedStaticMeshComponent*> ismcs,const FVector& loc,float radius,const FVector& box,int32 index,TArray<float> values);