# Frequently Asked Questions
# Why are my Ads not loading?
If you are expecting live ads in your game, confirm you have completed both the developer account approval process and game approval process on the Frameplay Dashboard
Next check the Unity Console Window for any errors or warnings. (Ctrl+Shift+C on Windows, or Shift+Command+C for Mac to bring up the Console Window)
- Check your internet connectivity to make sure you're online
- The Game ID and API Key in the Data Asset match the Frameplay Dashboard
- A Camera has been Registered
- The Ad Space is registered
- The Ad Space isn't Paused
- If you are using Activation Colliders, the registered camera is within the collider bounds
- The Ad Space is displayed on the Frameplay platform
- If you are using a custom Shader for displaying advertisements, there needs to be a main texture slot on the Ad Material (e.g. "_MainTex")
# Turn on Debug Events
This can make any problems more clear. Go to Frameplay->Developer Settings and turn on the Log Ad Space Events toggle:
# Why are my ads are not loading in a build?
# Unity 2018
When using Unity 2018 you may receive the error
Unable to parse file .meta after importing the Frameplay SDK or
Found plugins with same names and architectures &
Unable to load DLL 'stb_image': The specified module could not be found at runtime.
Stb_image is an image decoding library that processes JPG's and PNG's asynchronously and has been pre-compiled for each supported platform.
If you experience one of these errors, Unity's meta files have lost their import settings. Please re-configure the files here Assets/FrameplaySDK/Plugins/Stb_Image/ in the Inspector Window for your target platform(s).
MacOS is supported, however Mac users may receive the following message after integration: "stb_image.dylib can't be opened because Apple cannot check it for malicious software"
To fix this, select "Allow Anyway" the in Security & Privacy settings for the file stb_image.dylib.
High and Medium code stripping levels are not supported.
# Does the SDK support Unity's other Render Pipelines?
Yes other Render Pipelines are supported, however the Placeholder and Ad Materials only function in Unity's default render pipeline and must be replaced.
For instance, when using Unity's Universal Render Pipeline:
Setup your own Placeholder Material and Ad Material (FrameplaySDK / Materials / AdSpacePlaceholderMaterial.mat, FrameplaySDK / Materials / AdSpaceMaterial.mat)
Use the shader Universal Render Pipeline/Lit for regular lit ads
The 'Main Texture' name is also required on any custom Ad Material shaders:
- High Definition
# Why are my ads blurry?
Unity can have problems with filtering textures, making them too blurry especially on mobile devices. To counteract this, the SDK's HighQualityAd shader uses "tex2Dbias" to make them crisper.
If your Ad Material uses a custom shader, you can retain high quality ads by implementing our texture sample functionality in code or in a shader graph. Include the following in the fragment/ surface shader:
half4 col = tex2Dbias (_MainTex, float4(uv, 0, _FRAMEPLAY_AD_TEXTURE_BIAS));
And make sure to declare the bias parameter outside of any function (but in the CGPROGRAM):
Alternatively, you can reduce blurriness by turning Anisotropic Textures to Per Texture or Forced On.
If you are using Frameplay's default Ad Material or HighQualityAd shader and ads appear blurry on the latest SDK version, please contact us.
# Does the SDK use any Global Shader Keywords?
Yes, the SDK reserves 3 global keywords:
ORTHO_CAM(3D vs 2D camera metrics)
OPENGL_STYLE(OpenGL vs Directx)
# My issue still isn't solved.