How to Properly Handle Instanced Static Mesh Collision?

I’ve successfully created the Instanced Static Mesh Component. However, the character is falling through the terrain even with the collision setup below:

       RegisterAllComponents();
        ismc->ClearInstances();

        UStaticMesh* Rockmesh = LoadObject<UStaticMesh>(nullptr,TEXT("StaticMesh'/Game/StarterContent/Props/SM_Rock.SM_Rock'"));
        ismc->SetStaticMesh(Rockmesh);

        ismc->GetBodySetup()->CollisionTraceFlag = ECollisionTraceFlag::CTF_UseComplexAsSimple;
        ismc->CanCharacterStepUpOn = ECanBeCharacterBase::ECB_Yes;
        ismc->CanCharacterStepUp(UGameplayStatics::GetPlayerPawn(this->GetWorld(), 0));
        ismc->bGenerateOverlapEvents = true;
        ismc->SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
        ismc->SetCollisionResponseToAllChannels(ECR_Block);
        ismc->SetMobility(EComponentMobility::Static);

        AForestController* ForestController = GetWorld()->SpawnActor<AForestController>();
        ForestController->generateTerrain(ismc);
        ForestController->SetActorEnableCollision(true);

AForestController is just an actor that manages the terrain generation, and ismc is a UInstancedStaticMeshComponent variable. I’ve heard Instanced Mesh Component supports collision. What is the proper way to handle the Instanced Static Mesh Collision, so that the character won’t fall through the mesh? Any help towards this is appreciated!

The code above actually works. My character was spawned underwater. Silly me!