SmartPool uses authoritative based pooling, meaning all actors are pooled on the server and are replicated to clients. To make your pooled actors multiplayer compatible you can look at how the PooledActor has been implemented. This describes the necessary minimal setup needed to get a pooled actor to correctly replicate to clients.
When a plugin feature is seemingly not working, you should take the following steps:
Consult the documentation relating to the specific feature you are attempting to use.
Check plugin logs for any Warnings/Errors that may have occured:
LogSmartPool - Core API logging.
LogSmartPoolEditor - Tools logging.
Consult the FAQ for similar issues.
If the issue persists, make a post in the plugin's forum.
PoolProfiles are PrimaryDataAssets, this is done to allow manual control over when the assets are loaded & unloaded, saving on memory used. By design, PoolProfiles are loaded immediately during world creation in order to setup actor pools, once this process is done they are unloaded.
PoolProfiles need to be registered by your project's asset manager to ensure they are packaged alongside your build. You can read more about how to achieve this here.
You should check the following:
Do you have CanDecay enabled for the specific actor type in one of your pool profiles?
Are you calling Destroy on the pooled actor in your logic somewhere?
Are your pooled actors being destroyed by one of Unreal's underlying systems e.g. (World Partition)?
The MaxPoolSize for the specific actor type you are trying to spawn may have been reached and no available (Inactive) actors are present, which may be why your SpawnPooledActor calls aren't doing anything. This should be accompanied by LogSmartPool logs notifying you of the limit being hit, try increasing your MaxPoolSize.